在我的Windows窗体应用程序中,基本上我有两个DataGridView
。我想从右边选择行,并在左边添加选定的行。
右DataGridView
有一个复选框列。
查看图片:
例如:
单击第一行,然后单击“添加”按钮。
单击第三行,然后单击“添加”按钮。
问题是第一行被添加了两次,因为它被勾选了。
如何确保添加的行是不同的?
我的代码:
foreach (DataGridViewRow row in dgRight.Rows)
{
DataGridViewCheckBoxCell check = row.Cells[0] as DataGridViewCheckBoxCell;
if (check.Value != null)
{
if ((bool)check.Value)
{
DataRow myRow = (row.DataBoundItem as DataRowView).Row;
DataRow dr = dt.NewRow();
dr[0] = myRow[0];
dr[1] = myRow[1];
dr[2] = myRow[2];
dr[3] = myRow[3];
dt.Rows.Add(dr);
}
}
}
dgLeft.DataSource = dt;
答案 0 :(得分:3)
使用Data Table
方法检查.Find
中的行是否已存在:
var rowExists = dt.Rows.Find(dr);
if (rowExists == null) { // The row doesn't exist
dt.Rows.Add(dr); // Add the row
}