DataTable(DataView) に新規に追加したレコード(DataRow)を初期設定する方法

  DataGrid 等を利用して対話形式で DataTable(DataView) に新規に追加したレコード(DataRow)を初期設定するには、DataTable の ColumnChanging イベントを使用することができます。
 このイベントメソッド内で、RowState をチェックし、作成直後( Detached )である場合に、初期設定を行うことができます。
【使い方】

 DataGrid 等の対話形式での新規追加レコードの初期設定を行います。
/// <summary>
/// DataRow 内の指定した DataColumn の値が変更されているときに発生するイベントメソッド
/// </summary>
/// <param name="sender">DataRow が属する DataTable</param>
/// <param name="e">編集対象となる DataRow 、DataColumn および列の提示された新しい値</param>
private void dt_ColumnChanging(object sender, System.Data.DataColumnChangeEventArgs e)
{
    // 行の現在の状態が、作成された直後か確認する
    if ( e.Row.RowState == DataRowState.Detached )
    {
        //
        // ここに初期設定内容を記述する
        //
    }
}
【注意】
 DataRow は、作成された直後からコレクションに追加されるまでの間、またはコレクションから削除された場合に、DataRowState.Detached の状態になります。
戻る