我的 Windows 窗体上有一个 datagridview 控件。现在我需要选择一列的最大值和最小值。在数据表中,我们可以通过使用它来做到这一点
代码
int maxID = curriculmDataTable.AsEnumerable().Max(r => r.Field<int>("Id"));
我如何在 datagridview 中实现这一点。
我的 Windows 窗体上有一个 datagridview 控件。现在我需要选择一列的最大值和最小值。在数据表中,我们可以通过使用它来做到这一点
int maxID = curriculmDataTable.AsEnumerable().Max(r => r.Field<int>("Id"));
我如何在 datagridview 中实现这一点。
你可以试试:
var MaxID = dataGridView1.Rows.Cast<DataGridViewRow>()
.Max(r => Convert.ToInt32(r.Cells["Id"].Value));
确保您的Id
单元格具有int
类型值,否则使用Int.TryParse
如下:
int temp;
var MaxID2 = dataGridView1.Rows.Cast<DataGridViewRow>()
.Max(r => int.TryParse(r.Cells["Id"].Value.ToString(), out temp) ?
temp : 0 );
如果您的数据源是数据表,则此示例可以帮助您。
DataTable dtDataSource = new DataTable();
dtDataSource.Columns.Add("Value");
dtDataSource.Columns.Add("Display");
dtDataSource.Rows.Add(new object[] { 1, 1});
dtDataSource.Rows.Add(new object[] { 2, 2 });
dtDataSource.Rows.Add(new object[] { 3, 3 });
dtDataSource.Rows.Add(new object[] { 4, 4 });
dtDataSource.Rows.Add(new object[] { 5, 5 });
var results = dtDataSource.AsEnumerable().Max(row => Convert.ToInt32(row["Value"]));
datatable dt=datagridview1.datasource as datatable
int total = dt.Compute("Sum ( ColumnName ) ", "Criteria");