我有一个datagridview,我想在某些条件下从中创建一个数据表。例如,当用户双击一行时,我想使该行成为数据表,或者datagridview有一个checkboxcell,我想要从该网格中检查检查列的数据表。我怎么能用linq做到这一点?这有什么linq方式吗?
我从数据库获取sqldataadaptor的数据表,并用
将其绑定到datagridviewdataGridView.DataSource = myDataTable;
我有一个正常工作的代码,当用户在datagridview中双击一个单元格时,我将该行转到数据表中,就像这样
foreach (DataGridViewColumn column in dataGridView.Columns)
dataTable.Columns.Add(column.Name, column.ValueType);
dataTable.Rows.Add();
for (int j = 0; j < dataGridView.Columns.Count; j++)
{
dataTable.Rows[0][j] = dataGridView.Rows[e.RowIndex].Cells[j].Value;
}
我只是想知道,如果有一种linq方法可以将这个结果作为数据表,比如
dataTable =dataGridView.Rows.Cast<DataGridViewRow>().Where(f=>f.Index==e.RowIndex) //rowindex is the double clicked rows index here
答案 0 :(得分:0)
此代码将帮助您入门:
DataTable dt = new DataTable();
foreach (DataGridViewColumn column in dataGridView1.Columns)
dt.Columns.Add(column.Name);
DataGridViewSelectedRowCollection row = this.dataGridView1.SelectedRows;
foreach (DataGridViewRow dr in row)
dt.Rows.Add(dr);