【功能說明】

此為Web使用的Ajax元件,使用Ext JS公司的FormPanel包裝而元件。

 

【屬性】

Fields (欄位明細)(collection)

設定AjaxGridView中所有欄位的明細,如下說明:

AllowNull(允許為空)(bool)設定是否允許為空,如果該欄位設為False,在AjaxFormView上直接編輯的時候,會控制該欄位不能為空,並會出現“該輸入項為必輸項目”的提示。

FieldControlId(欄位名稱)(string)設定該欄位的欄位名稱。

DataField(綁定欄位)(string)用於設定FormViewColumn所綁定的欄位。

DefaultValue(預設值)(string)用於設定該欄位的預設值,可以為一個常數,或一個js函數傳回值(可使用『方法名+( )』來代表。

Editor(編輯欄位的類型)(enum):該欄位的編輯型態,目前提供TextBoxComboBoxDateTimePickerCheckBox4種。

EditControlId(編輯控制項的Id) (string):此屬性是配合Editor屬性為ComboBox時所使用,用於設定實際連接的ExtComboBox的元件ID

FieldType(欄位類型)(string)用於設定該欄位的類型,共有5種選擇:stringintfloat    boolean以及date等,每一種系統會自動配合對應格式。

Caption(表頭文字)(string)每個欄位上方的標題抬頭內容。

IsKeyField(是否為KeyField)(bool)用於設定該欄位是否為Key欄位。

NewLine(是否換行)(bool)設定這個ColumnFormView顯示時是否要往下進行換行。

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時,WebDataSourceCacheDataSet屬性一定必須設定為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)