使用Linq从DataGridView's Specific Rows获取数据表

本文关键字:Specific Rows 获取 数据表 Linq DataGridView 使用 | 更新日期: 2023-09-27 18:13:07

我有一个datagridview,我想使一个数据表从它与一些条件。例如,当用户双击一行时,我想使该行成为一个数据表,或者datagridview有一个checkboxcell,我想要一个来自该网格的数据表,其中检查列被选中。我怎么用linq来做呢?有什么办法吗?

我得到一个数据表与sqldataadapter从数据库,并绑定到datagridview与

dataGridView.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

使用Linq从DataGridView's Specific Rows获取数据表

下面的代码将帮助您入门:

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);