WebFormView
【功能說明】
用途:使用于 Web 網頁中,繼承自 FormView 元件, 此元件的主要功能是 顯示資料源中單筆的記錄。由開發者自由定義版面與使用那些元件來與欄位配合,使用 FormView 的最大好處就是能與 WebDataSource 進行資料綁定 (Binding) ,可以讓元件與 WebDataSource 進行雙向互動,也就是除了可以顯示資料欄位外,亦可進行資料的編輯。另一方面, WebFormView 多了 LayOutColNum 來設定內建式 Tabel 的 Column 數,如設為 2 代表欄位會排成左右兩欄的方式呈現 ( 會有 Table 隔開 ) 。
【元件屬性】
ID(
元件名稱 ) (string)
用於識別該組件。
DataSourceID ( 資料源 ) (string)
對應到 WebFormView 的資料源代號,就是指 WebDataSource 。
DefaultMode ( 編輯模式 ) ( enum)
設定 WebFormView 的編輯模式 , 有三種模式 ( ReadOnly,Edit,Insert) , 分別代表顯示,更改編輯,新增編輯的模式,預設為 ReadOnly 模式。改變本屬性可以直接影響到 WebFormView 的版面上的各元件狀態。
Caption( 抬頭 )(string)
元件上面的抬頭文字內容。
LayOutColNum( 左右列數 )(int32)
用來設定 WebFormView 中顯示資料欄位的左右列數,系統會自動在 FormView 內建立 Table 格線於頁面中,以方便設計者處理欄位的位置的對齊,但必須注意,此屬性必須在未設定 DataSourceID 之前就要事先設定好,也就是當 FormView 還沒有欄位前,否則無效。
Fields( 預設欄位明細
)(c
ollection )
此是專門配合 WebDefault 元件所使用。當需要對 WebFormView 進行 Insert 功能時,必須要另外設定此屬性才能與 WebDefault 對應上,這是因為在 FormView 中系統不知道那一個 TextBox 元件是對應到那一個 WebDefault 的那一個欄位,因此透過此 Fields 來對應。設定是以 FormView 內的 ControlID 去對應到 WebDefault 內的 FieldName 欄位名稱即可。
RowStyle( 資料頁面型態
)
用來設定資料顯示時其頁面上的前景背景顏色,字型,自動換列,邊框顏色型態大小等等。
EditRowStyle( 編輯頁面型態 )
用來設定更改編輯時其頁面上的前景背景顏色,字型,自動換列,邊框顏色型態大小等等。
InsertRowStyle( 新增頁面型態 )
用來設定新增資料時的前景背景顏色,字型,自動換列,邊框顏色型態大小等等。
EmptyDataRowStyle( 空白資料型態 )
用來設定空白資料時其頁面上的前景背景顏色,字型,自動換列,邊框顏色型態大小等等。
PagerStyle( 分頁頁面型態
)
用來設定表尾分頁的頁面上的前景背景顏色,字型,自動換列,邊框顏色型態大小等等。
EmptyDataText( 空白資料文字 )(string)
用來設定空白資料時所要顯示的文字內容。
【其他說明】
1. 為了讓 WebFormView 的 Fields 設定方便,可以在設定完 WebDefault 時,以 FormView 的快捷鈕 ( 右上三角型 ) 的 "Copy Default
Fields", 幫你自動從 WebDefault 中的 Fields 名稱 Copy 到 WebFormView.Fields 當中。
2. 為了讓 WebFormView 可以支援多國語言的架構,使用 "Refresh Schema" 可以自動產生 "Label" 的欄位抬頭,之前
3. 在設計模式下, WebFormView 右鍵會有一個
"Export To MultiLanguage" 功能,會將 WebFormView 的 ItemTemplate 上所有 "Label" 輸出到同頁面的 WebMultiLanguage 上。
【 範例 】
使用 FormView 的 DataBound 事件
來完成 用程式控制 WebFormView 自行 帶值的方法 ,如 下 :
protected void wfvMaster_DataBound(object sender , EventArgs e)
{
if ( wfvMaster.CurrentMode==
FormViewMode.Insert)
// Insert 才做
{
WebRefValctrl = ( WebRefVal) wfvMaster.FindControl("WebRefVal1");
// 假設名稱為 WebRefVal1
ctrl.BindingValue= "001"; // 設為 001
WebDateTimePickerctrl1 = ( WebDateTimePicker) wfvMaster.FindControl("WebDateTimePicker1");
ctrl1.Text = System.DateTime.Now.ToShortDateString();// 如果 DateTime 型態
ctrl1.DateString = System.DateTime.Now.ToString(" yyyyMMdd"); // 如果為 VarChar (8) 型態 .
}
}
| Converted from CHM to HTML with chm2web Pro 2.85 (unicode) |