【功能說明】
此為Web使用的Ajax元件,使用Ext JS公司的FormPanel包裝而元件。
【屬性】
Fields (欄位明細)(collection)
設定AjaxGridView中所有欄位的明細,如下說明:
AllowNull(允許為空)(bool):設定是否允許為空,如果該欄位設為False,在AjaxFormView上直接編輯的時候,會控制該欄位不能為空,並會出現“該輸入項為必輸項目”的提示。
FieldControlId(欄位名稱)(string):設定該欄位的欄位名稱。
DataField(綁定欄位)(string):用於設定FormView的Column所綁定的欄位。
DefaultValue(預設值)(string):用於設定該欄位的預設值,可以為一個常數,或一個js函數傳回值(可使用『方法名+( )』來代表。
Editor(編輯欄位的類型)(enum):該欄位的編輯型態,目前提供TextBox、ComboBox、DateTimePicker、CheckBox等4種。
EditControlId(編輯控制項的Id) (string):此屬性是配合Editor屬性為ComboBox時所使用,用於設定實際連接的ExtComboBox的元件ID。
FieldType(欄位類型)(string):用於設定該欄位的類型,共有5種選擇:string、int、float、 boolean以及date等,每一種系統會自動配合對應格式。
Caption(表頭文字)(string):每個欄位上方的標題抬頭內容。
IsKeyField(是否為KeyField)(bool):用於設定該欄位是否為Key欄位。
NewLine(是否換行)(bool):設定這個Column在FormView顯示時是否要往下進行換行。
Formatter(欄位Format)(string):用於設定對該Column的格式所使用,這些格式系統會自動以JavaScript方式包裝起來,可針對不同的資料型態來設定不同的格式。如遇到DateTime型態欄位,可以設定為:Y/m/d。
OnLeave(編輯後調用Js方法)(string):用戶設定在滑鼠離開該欄位輸入框後,調用的JS方面名稱。
OnFocus(編輯前調用Js方法)(string):用戶設定在滑鼠進入該欄位輸入框前,調用的JS方面名稱。
ValidType(驗證類型)(enum):針對該欄位進行特殊的驗證功能,目前共有Email(檢查內容是否為Email的格式),Url(檢查內容是否為URL的格式),Int(檢查內容是否為一個整數),Float(檢查內容是否為一個數值),IPAddress(檢查內容是否為IP位址)等的驗證方式。
Width(寬度)(int):用於設定Column上的寬度,以Pixel為單位。
DataSourceID (資料源) (string)
對應到AjaxFormView的資料源代號,就是指WebDataSource,注意使用AjaxFormView時,WebDataSource的CacheDataSet屬性一定必須設定為True,否則無法取得資料。
FieldWidth(欄位元件寬度)(int)
用於設定欄位對應元件上的寬度,以Pixel為單位。
LabelWidth(欄位標題寬度)(int)
用於設定欄位對應標題上的寬度,以Pixel為單位。
【ExtJs方法】
在AjaxFormView中我們提供OnFocus以及OnLeave兩種屬性。這兩個時機我們可通過ExtJs的一些方法來取得資料,也可寫資料。如下例:
function setShippedDateSelf(field)
{
var formPanel = field.findParentBy(function(container){
if(container.id == 'AjaxLayout1') {
return true;
}
});
debugger;
if(formPanel) {
var baseForm = formPanel.getForm();
var values = baseForm.getValues();
var value = new Date(values.OrderDate); //取得指定欄位值
value.setDate(value.getDate()+7);
var anField = baseForm.findField('ShippedDate');
if(anField){
anField.setValue(value); //給值到欄位
}
}
}
Converted from CHM to HTML with chm2web Pro 2.85 (unicode) |