我想将一个DataGridView中用户选择的行用作第二个DataGridView的DataSource。请注意,两个DataGridViews都具有相同的列。
显然,我可以迭代选定的行,获取键值,并重新查询数据库以获取List作为第二个网格的DataSource,但这似乎很蹩脚。
当然,有一种简单的方法可以简单地将SelectedRows集合重新用作数据源吗?
答案 0 :(得分:2)
您无法直接将DataRow
的集合设置为数据源,您可以从MSDN
做(位)传统方式怎么样?
var dt = ((DataTable)dataGrid1.DataSource).Clone();
foreach (DataGridViewRow row in dataGrid1.SelectedRows)
{
dt.ImportRow(((DataTable)dataGrid1.DataSource).Rows[row.Index]);
}
dt.AcceptChanges();
dataGrid2.DataSource = dt;
答案 1 :(得分:0)
使用CopyToDataTable method执行此操作的另一种方法。
true
答案 2 :(得分:0)
感谢您的回复。似乎没有一种非常简单的方法。
我是这样做的:
MyDatGridView.SelectedRows.Cast<DataGridViewRow>().Select(dgvr => (int)dgvr.Cells[0].Value).ToList());
然后我尝试在.Where子句中使用带有.Contains的结果List。