📅  最后修改于: 2023-12-03 15:00:20.960000             🧑  作者: Mango
Datagridview 是一个非常常见的控件,我们可以通过 rows 属性来访问到它的数据行。使用 LINQ 可以更加方便地进行查询和操作。
var rows = dataGridView1.Rows.Cast<DataGridViewRow>();
这里使用了 Cast
var rows = dataGridView1.Rows.Cast<DataGridViewRow>()
.Where(row => row.Cells["ColumnName"].Value.ToString() == "Value");
这里使用了 Where() 方法来筛选满足条件的数据行,其中 row 表示每一行数据,row.Cells["ColumnName"].Value.ToString() 可以获取到指定列的值,判断其是否等于目标值即可。
dataGridView1.Rows.Cast<DataGridViewRow>()
.Where(row => row.Cells["ColumnName"].Value.ToString() == "OldValue")
.ToList() // 注意要先调用 ToList() 方法,否则可能会报错
.ForEach(row => row.Cells["ColumnName"].Value = "NewValue");
这里使用了 ToList() 方法将查询结果转换成 List
然后使用 ForEach() 方法遍历所有满足条件的数据行,将指定列的值修改为新值。
dataGridView1.Rows.Cast<DataGridViewRow>()
.Where(row => row.Cells["ColumnName"].Value.ToString() == "Value")
.ToList()
.ForEach(row => dataGridView1.Rows.Remove(row));
这里同样使用了 ToList() 方法,然后使用 ForEach() 方法遍历所有满足条件的数据行,将其从 Datagridview 中移除。
使用 LINQ 可以在 Datagridview 中方便地进行查询和操作,使得程序员可以更加轻松地处理数据。