如何选择datagridview的任何列的最大值和最小值

时间:2013-05-15 06:25:56

标签: c# winforms linq datagridview

我的Windows窗体上有一个datagridview控件。 现在我需要选择列的最大值和最小值。 在数据表中,我们可以使用此

来完成此操作

代码

int maxID = curriculmDataTable.AsEnumerable().Max(r => r.Field<int>("Id"));

我如何在datagridview中实现这一目标。

3 个答案:

答案 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");