我的Windows窗体上有一个datagridview控件。 现在我需要选择列的最大值和最小值。 在数据表中,我们可以使用此
来完成此操作int maxID = curriculmDataTable.AsEnumerable().Max(r => r.Field<int>("Id"));
我如何在datagridview中实现这一目标。
答案 0 :(得分:6)
您可以尝试:
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 );
答案 1 :(得分: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"]));
答案 2 :(得分:0)
datatable dt=datagridview1.datasource as datatable
int total = dt.Compute("Sum ( ColumnName ) ", "Criteria");