我试图在此方法中访问用于填充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;
在构建DataTable时,如果在selectionChanged中需要它时找回此成员对象,我该怎么办?
答案 0 :(得分:0)
我不确定我是否理解你的问题。我认为您只是将对象成员属性分配给数据表列,而不是它自己的对象。因此,您无法直接从数据表中获取“member”类型的对象。
如果您在内存中维护了成员集合,则可以针对Member Name
列查询数据表,然后搜索内存中维护的成员集合。
或者您可以将新列添加到类型成员的DataTable中,然后将该对象添加到数据表本身。
添加列
_loadMemebersTable.Columns.Add("MemberObj",typeof(Member));
设置值
row["MemberObj"] = member;