注意:ここで紹介しているDataGridは、System.Windows.Forms名前空間のDataGrid(Windowsフォーム)です。System.Web.UI.WebControls名前空間のDataGrid(Webフォーム)ではありません。
ある列の値を使って計算した結果で新しい列を作成したり、リレーションシップ(または列)による集約(和、平均、最小、最大、カウント、統計標準偏差、統計分散)を使って新しい列を作成するには、DataColumn.Expressionプロパティを使用します。式の書き方や使える関数など、DataColumn.Expressionプロパティの詳細につきましてはDataColumn.Expression プロパティをご覧ください。
次の例では列"Column1"の値を2倍した値が列"Column2"になるようにしています。
'DataTableオブジェクトの作成 Dim dt As DataTable dt = New DataTable("DataTable1") 'はじめの列を作成 Dim dc As DataColumn dc = New DataColumn("Column1", GetType(Integer)) dt.Columns.Add(dc) '計算列の作成 '"Column1"を2倍した値の列とする dc = New DataColumn("Column2", GetType(Integer)) dc.Expression = "Column1 * 2" dt.Columns.Add(dc) '列を追加する '"Column1"が123、"Column2"が246となる Dim dr As DataRow dr = dt.NewRow() dr(0) = 123 dt.Rows.Add(dr) 'DataTableに連結する DataGrid1.DataSource = dt
//DataTableオブジェクトの作成 DataTable dt; dt = new DataTable("DataTable1"); //はじめの列を作成 DataColumn dc; dc = new DataColumn("Column1", typeof(int)); dt.Columns.Add(dc); //計算列の作成 //"Column1"を2倍した値の列とする dc = new DataColumn("Column2", typeof(int)); dc.Expression = "Column1 * 2"; dt.Columns.Add(dc); //列を追加する //"Column1"が123、"Column2"が246となる DataRow dr; dr = dt.NewRow(); dr[0] = 123; dt.Rows.Add(dr); //DataTableに連結する DataGrid1.DataSource = dt;
注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。