【问题标题】:c# add objects to table rows dynamicllyc# 动态地将对象添加到表行
【发布时间】:2016-09-07 10:50:36
【问题描述】:

我正在尝试做这样的事情,但我不知道如何:

我在 c# 中有一个表格,我在运行时增加和减少它。

每一行都包含从一个对象中解析出来的数据。

我想访问该行正在解析的对象,它的一些伪对象是:

if (table.row.object == selectedObject)

我无法从行号或其他内容中执行此操作,因为每次都使用不同的对象删除和插入行。

有什么想法吗?

编辑:我正在使用 TableLayoutPanel 来处理表格,这就是我添加行和删除它们的方式:

我正在向表格动态添加行,我有一组按钮,当我单击一个按钮时,它会从表格中删除所有旧行并添加与此按钮相关的新行。

这是我添加新行的方式:

tlp.RowCount++;
tlp.RowStyles.Add(new RowStyle(SizeType.AutoSize));
tlp.Controls.Add(new Label() { ... }, cellIDX, rowIDX);
// adding more columns //

为了删除旧行,我从下到上遍历所有行,删除当前单元格的所有相关控件,然后删除样式和行号,如下所示:

tlp.RowStyle.RemoveAt(rowNum);
tlp.RowCount--;

谢谢

您还可以看到我之前提出的与此主题相关的问题: C# change table row color when mouse hover

【问题讨论】:

  • 是DataTable还是哪种表?你什么时候需要执行这个?
  • 向我们展示您用于生成/绑定表数据的代码。

标签: c# tablelayoutpanel


【解决方案1】:

在开始插入/删除过程之前,您可以尝试在表中添加一个新列(称为 original_row_no)并将行值设置为该列。这样您就可以直接引用该行(这是对您最后一行的回应,即“我无法从行号或其他内容中执行此操作,因为每次都使用不同的对象删除和插入行。”

更好的方法是在表中拥有一个唯一的 id 并针对它运行您的引用。

如果您显示您正在尝试的代码,帮助会容易得多。

【讨论】:

    猜你喜欢
    • 2016-02-02
    • 2012-01-12
    • 2013-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多