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