略過巡覽連結。
略過巡覽連結      
  WebFormView 修改時如何帶預設值進去? 觀看回應
預設值是只有在新增狀態下才有效.如果想修改時間和人員的欄位元有兩種方式:
1. 如果在Client的畫面有顯示這兩個欄位,可以直接在FormView的事件寫程式修改,比如ItemUpdating事件,去查找控制項並賦值.也可採用e.Values["FieldName"] = ....的賦值方式。
2. 如果不在Client端顯示這兩個欄位,可以在Server端UpdateComp的BeforeModify事件對這兩個欄位賦值.或者,可以直接在UPdateComp的FieldsAttr上直接設定修改欄位,無需寫程式。





  在InfoNavigator中,如果需求符合某一條件時才能刪除,應如何處理? 觀看回應
有2個方法,說明如下:
1. 用navigator的刪除來控制,可以在BeforeItemClick中寫如下程式:
if (e.ItemName == "Delete")
{
if (not 你的條件)
{
Messagebox.Show(“無法刪除!”);
e.Cancel = true;
}
}
2. 在Master或View的(如果有view的話,可以用view)BindingSource的PositionChanged事件以及InfoNavigator的StateChanged事件去判斷,如下:
if (not 你的條件)
{
bindingNavigatorDeleteItem1.enable=false;
}
else
{
bindingNavigatorDeleteItem1.enable=true;
}




  Master/Detail中,如何控制沒有輸入明細檔時,提示「請輸入明細檔」並且不會存檔? 觀看回應
可以在Navigator的BeforeItemclick事件來控制,如下:
if (e.ItemName == "Apply")
{
if (ibsDetail.List.Count == 0) e.Cancel = true;//不存檔;
}




  Win Form保存資料時,如何透過updatecomponent的AfterApply事件截取存檔的錯誤訊息? 觀看回應
這種情況下是無法回傳信息到Client的,除非是系統出錯了,發生停止存檔才會回應訊息,如果是為了捕捉Server端所發生的錯誤,則可以通過throw new Exception的方式傳資訊回到Client,在Client的InfoDataSet有ApplyError事件可取得e.Exception.InnerException.Message就是Server的錯誤訊息。




  UpdateComponent的BeforeDelete如何取消刪除? 觀看回應
兩種方法,請參考:
1)如果您是要判斷哪些資料可以刪除哪些不可以,您可以在Client端的BeforeCommand事件中處理,比較簡單。
2)如果是必須要在Server處理的,您需要BeforeDelete事件中寫:
if (Convert.Toint16(UpdateComp1.GetFieldOldValue("Qty"))<=0) // 條件成立的話
{
throw new Exception("yourMessage"); //拋出異常與訊息
}

然後需要在Client的InfoDataSet的ApplyError事件中接收:
if (e.Exception.InnerException.Message == "yourMessage")
{
MessageBox.Show("yourMessage"); //可以自行改變訊息
e.Cancel = true; //讓系統知道後端有錯誤
}