首页 > 解决方案 > 获取具有特定列的最小整数值的datagridview行的索引的最佳方法是什么

问题描述

谁能告诉我最好/最有效的方法是在具有特定列的最小整数值的数据网格视图中获取行的索引。

我使用 foreach 循环来遍历行集合并比较每行的相应值并存储最小值。每次我找到一个较小的值时,我都会用该值更新我的“最小”变量。这行得通,但我很确定一定有一些 lambda 表达式可以做得更好。有人可以帮忙吗?

这是包含值的列:

dgvItems.Rows[i].Cells["col1"].Value

非常感谢。

标签: c#winformsdatagridview

解决方案


最好的方法是使用 LINQ 查询,

LINQ 比 for 循环更好看、更易读、更高效

您应该使用 DataGridView 数据源而不是直接使用 DataGridView 数据

DataTable dt = dgv.DataSource as DataTable;

MinRow:     var result = dt.Rows.IndexOf(dt.AsEnumerable().OrderBy(x => x["col1"]).First());
MaxRow:     var result1 = dt.Rows.IndexOf(dt.AsEnumerable().OrderByDescending(x => x["col1"]).First());

希望这可以帮助你


推荐阅读