这个概念很简单。用户选择一行并单击“编辑”,打开表单,该行中的所有数据都在编辑表单的透视字段中。
我使用 SelectedItems[0].Tag 对 ListView 执行此方法没有问题,但现在使用 DataGridView 并且我得到一个未设置为对象实例的对象引用。
我一直在谷歌搜索,似乎可以完成的唯一方法是首先将 DataGridView 行的值放入列表中。
所以像 firstcell = part.item1、secondcell = part.item2 等。
最后告诉它 List = part;
private void EditPart()
{
PartData part;
// Ignore if no row is selected
if (DgParts.SelectedRows.Count == 0)
{
return;
}
try
{
// Is not tagging data at all.
part = (PartData) DgParts.SelectedRows[0].Tag;
// Open Form with Data
var edit = new FrmPartsAddEdit(this, "Edit", part);
// Commit if OK
if (edit.ShowDialog() == DialogResult.OK)
{
part = edit.GetPart();
}
}
catch (Exception ex)
{
MessageBoxError(ex.Message);
}
}
DataGridView 处于全行选择状态,多选为 false。