【使い方】
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.Column.ColumnName.Equals("郵便番号")
{
if ( !Regex.IsMatch( e.ProposedValue.ToString(), @"^[0-9]{3}\-{1}[0-9]{4}$" ))
{
e.Row.SetColumnError( e.Column.Ordinal, "入力された郵便番号の形式に誤りがあります。");
e.Row.RowError = "エラーデータがあります。";
}
else
{
// 列エラーをクリアします。
row.SetColumnError( e.Column.Ordinal, "");
// 列エラーが無ければ、Rowエラーをクリアします。
if ( row.GetColumnsInError().Length == 0 )
row.ClearErrors();
}
}
}
|