DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

DataGridに新しい行が追加されたときに列値が自動的にインクリメントされるようにする

注意:ここで紹介しているDataGridは、System.Windows.Forms名前空間のDataGrid(Windowsフォーム)です。System.Web.UI.WebControls名前空間のDataGrid(Webフォーム)ではありません。

DataColumnクラスのAutoIncrementプロパティをTrueにすることにより、新しい行がテーブルに追加されたときに列値が自動的にインクリメント(加算)されるようになります。どのようにインクリメントされるかはAutoIncrementSeedプロパティとAutoIncrementStepプロパティの値で決まります。AutoIncrementSeedプロパティで指定された値から開始され、AutoIncrementStepプロパティで指定された値だけ加算されていきます。

次に自動インクリメントされる列をDataTableに追加する例を示します。

VB.NET
コードを隠すコードを選択
'DataTableオブジェクトの作成
Dim dt As DataTable
dt = New DataTable("DataTable1")
'DataTableにDataColumnを追加する
Dim dc As DataColumn
dc = dt.Columns.Add("Column1", GetType(Integer))
'自動インクリメントを有効にする
dc.AutoIncrement = True
'100から始まり、5ずつ増えていく
'100,105,110,115...となる
dc.AutoIncrementSeed = 100
dc.AutoIncrementStep = 5
'変更できないようにする
dc.ReadOnly = True
C#
コードを隠すコードを選択
//DataTableオブジェクトの作成
DataTable dt;
dt = new DataTable("DataTable1");
//DataTableにDataColumnを追加する
DataColumn dc;
dc = dt.Columns.Add("Column1", typeof(int));
//自動インクリメントを有効にする
dc.AutoIncrement = true;
//100から始まり、5ずつ増えていく
//100,105,110,115...となる
dc.AutoIncrementSeed = 100;
dc.AutoIncrementStep = 5;
//変更できないようにする
dc.ReadOnly = true;

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • .NET Tipsをご利用いただく際は、注意事項をお守りください。