0

我正在尝试访问用于在此方法中填充 DataGridview 的对象:

void memberDataGridView_SelectionChanged(object sender, EventArgs e)
{
  foreach (DataGridViewCell cell in memberDataGridView.SelectedCells)
  {
    foreach (DataGridViewRow row in memberDataGridView.Rows)
    {
       if (row.Cells.Contains(cell))
       {
          //here is where I want to access the object that was used to build this row.
          //it will be added as a comboboxitem
       }
  }
}

这是使用 DataTable 添加到 gridview 的对象的代码

DataRow row = _loadMembersTable.NewRow();
row["Member Name"] = member.InternalLabel;
row["Type"] = member.MemberType;
_loadMembersTable.Rows.Add(row);
memberDataGridView.DataSource = _loadMembersTable;

当我在 selectionChanged 中需要它时,构建 DataTable 以找到该成员对象时,我该怎么办?

4

1 回答 1

0

我不确定我是否正确理解了您的问题。我认为您只是将对象成员属性分配给数据表列,而不是它本身的对象。因此,您不能直接从数据表中获取“成员”类型的对象。

如果您在内存中维护了一个成员集合,则可以针对Member Name列查询数据表,然后搜索内存中维护的成员集合。

或者,您可以向成员类型的 DataTable 添加新列,然后将对象添加到数据表本身。

添加列

_loadMemebersTable.Columns.Add("MemberObj",typeof(Member));

设置值

row["MemberObj"] = member;
于 2012-06-29T05:04:45.617 回答