1

我的 Windows 窗体上有一个 datagridview 控件。现在我需要选择一列的最大值和最小值。在数据表中,我们可以通过使用它来做到这一点

代码

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

我如何在 datagridview 中实现这一点。

4

3 回答 3

7

你可以试试:

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 );
于 2013-05-15T06:30:33.910 回答
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"]));
于 2013-05-15T06:57:57.727 回答
0
datatable dt=datagridview1.datasource as datatable
int total = dt.Compute("Sum ( ColumnName ) ", "Criteria");
于 2015-03-27T12:24:32.007 回答