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" 的欄位抬頭,之前 2.1.0.1 版本的欄位抬頭因為使用的是 HTML 文字,無法支持多國語言功能。

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)