【发布时间】:2015-09-17 15:06:29
【问题描述】:
我有一个 datagridview,我想在某些条件下从中创建一个数据表。例如,当用户双击一行时,我想让该行成为数据表,或者 datagridview 有一个复选框单元格,我想要一个来自该网格的数据表,其中检查列被选中。我怎么能用 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
【问题讨论】:
-
你能分享你的代码吗?
-
你是如何绑定和/或创建 DataGridView 开始的......?如果要将数据表绑定到 DataGridView 并且单击或双击 GridView 的行,则需要更具体地说明所需内容。那么为什么要创建新的数据表。请对以下内容进行更多研究/阅读
DataTable, DataSet, DataRow, DataGrid, DataGridView, ....etc -
@MethodMan 我添加了我想知道的内容,我想从对话框表单中返回一个数据,显示用户一些产品,当用户选择产品时我不想再次查询,我想发送产品信息返回到我的主窗体。这就是我所做的。我只是想知道是否有一种获取该行单元格的 linq 方法。抱歉没有问题。
-
你应该真正学会在执行 foreach 和嵌套 for 循环时格式化你的代码,当为外部 foreach 循环使用正确的
{ }时,它也会更具可读性
标签: c# linq datagridview datatable