close

欄位資料的驗證(check某欄的值,不符合需求,即取消其欄位的變更)


DataTable workTable  = new DataTable();
workTable.Columns.Add("LastName", typeof(String));

workTable.ColumnChanged +=
  new DataColumnChangeEventHandler(OnColumnChanged);//把事件綁上去,因為這是workTable是動態產生的,所以事件要這麼綁(不過好像DataTable好像沒有長在元件盤上面?)

DataRow workRow = workTable.NewRow();
workRow[0] = "Smith";
workTable.Rows.Add(workRow);

workRow.BeginEdit();//開始進行修改動作
// Causes the ColumnChanged event to write a message and cancel the edit.
workRow[0] = "";    
workRow.EndEdit();//結束修改動作

// Displays "Smith, New".
Console.WriteLine("{0}, {1}", workRow[0], workRow.RowState); 

protected static void OnColumnChanged(
  Object sender, DataColumnChangeEventArgs args)
{
  if (args.Column.ColumnName == "LastName")//如果引發欄位變更事件的那個欄位名稱是LastName
    if (args.ProposedValue.ToString() == "")//ProposedValue表示新值(就是="")
    {
      Console.WriteLine("Last Name cannot be blank. Edit canceled.");
      args.Row.CancelEdit();//取消它workRow[0] = ""
    }
//如果還有其他欄位也要check,也可以寫在下面這裡喔~

}


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 pagichang 的頭像
    pagichang

    pagichang

    pagichang 發表在 痞客邦 留言(0) 人氣()