【功能說明】
用途:使用於Web網頁中,繼承自DetailsView元件,此元件的主要功能是一頁一筆資料及表格的方式來顯示資料表內容。
【元件屬性】
(ID)(元件名稱)(string)
用於識別該組件。
DataSourceID(資料源)(string)
對應到DetailsView的資料源代號,就是指WebDataSource。
Caption(抬頭)(string)
元件上面的抬頭文字內容。
ExpressionFieldCount (運算式欄位數) (int)
用於指示該WebDetailsView中ExpressionField的數量,設置此屬性後設計者必須進入Fields屬性來對ExpressionField進行設定(包括Expression屬性等),才能使用。
Fields (欄位明細)
(collection)
指WebDetailsView中所有欄位的明細,其Fields的屬性說明如下:
HeaderText(表頭文字)(string):每個欄位左邊的欄位表頭內容。
HeaderImageURL(表頭圖示)(string):每個欄位左方的表頭圖示。
ApplyFormatInEdit(編輯時使用格式)(bool):此欄位編輯時是否使用DataFormatString格式。
InsertVisible(新增顯示)(bool):新增時是否要顯示此欄位。
Visible(顯示)(bool):在WebDetailsView中是否顯示該欄位。
ReadOnly(唯讀)(bool):是否唯讀,不能新增/更改/刪除。
ShowHeader(顯示表頭)(bool):該欄位是否顯示左邊的抬頭。
DataField (欄位名稱)(strring):對應的欄位名稱。
DataFormatString (欄位格式)(strring):對應的欄位格式內容,請參考VS手冊說明。
ItemStyle(資料頁面型態):設定此欄位在顯示時其頁面上的前景背景顏色,字型,自動換列,邊框顏色型態大小等等。
HeaderStyle(表頭頁面型態):設定此欄位抬頭的前景背景顏色,字型,自動換列,邊框顏色型態大小等等。
FooterStyle(表尾頁面型態):設定此欄位表尾頁面上的前景背景顏色,字型,自動換列,邊框顏色型態大小等等。
CreateInnerNavigator (內建Navigator)(bool)
用於指示是否在該WebDetailsView中建立內建的WebNavigator,一般此Navigator會自動放在DetailsView的Footer中,內建的Navigator會預設新增/更改/刪除/查詢的按鈕。
GetServerText (Server端訊息)(bool)
控制內建WebNavigator所顯示文字,是否去抓取Server端的多國語言訊息,即存在SYSMSG.XML中的WebNavigator訊息。
InnerNavigatorShowStyle(內建Navigator型態)(enum)
可設定為
(HyperLink,Image,Button),只內建WebNavigator所顯示按鈕的外觀形式,HyperLink代表連結Label,Image代表圖示,Button代表按鈕。
InnerNavigatorLinkLabel (對應狀態標籤)(string)
可以將內建Navigator的狀態訊息對應到一個Label上來顯示,狀態一般會有:瀏覽/更改中/新增中/存檔成功/存檔放棄等訊息。
NavControls (Navigator明細)(collection)
可以設定內建Navigator的各按鈕的明細,其屬性說明如下:
ControlVisible(是否顯示)(bool):該按鈕是否顯示。
ImageURL (圖示URL)(bool):該按鈕的對應URL圖檔案。
MouseOverImageURL (作用圖示URL)(bool):該按鈕Mouser移過所對應的URL圖檔案。
Size (寬度大小)(int):該按鈕的寬度大小。
ControlName
(元件名稱)(bool):該按鈕的元件名稱。
ControlText(按鈕文字)(string):該按鈕的文字內容。
ControlType(按鈕類型)(enum):該按鈕的型態,可設為(HyperLink,Image,Button)。
在WebDetailsView中預設有新增/更改/刪除/存檔/取消/查詢等按鈕。
HorizontalAlign(左右對齊方式)(enum)
用來設定左右的對齊方式,可以利用此屬性設定此元件的版面靠左/靠右/靠中等。
EditRowStyle(編輯頁面型態)
用來設定更改編輯時其頁面上的前景背景顏色,字型,自動換列,邊框顏色型態大小等等。
RowStyle(資料頁面型態)
用來設定資料顯示時其頁面上的前景背景顏色,字型,自動換列,邊框顏色型態大小等等。
FooterStyle(表尾頁面型態)
用來設定表尾頁面上的前景背景顏色,字型,自動換列,邊框顏色型態大小等等。
InsertRowStyle(新增頁面型態)
用來設定新增資料時的前景背景顏色,字型,自動換列,邊框顏色型態大小等等。
EmptyDataRowStyle(空白資料型態)
用來設定空白資料時其頁面上的前景背景顏色,字型,自動換列,邊框顏色型態大小等等。
PagerStyle(分頁頁面型態)
用來設定表尾分頁的頁面上的前景背景顏色,字型,自動換列,邊框顏色型態大小等等。
EmptyDataText(空白資料文字)(string)
用來設定空白資料時所要顯示的文字內容。
【事件】
此元件無事件。
【功能函數】
ExecuteSync(GridViewCommandEventArgs
e)
可以用此來讓WebGridView同步WebDetailsView的資料,之前的WebDataSource.ExecuteSync()是用來同步兩個不同的WebDataSource,在此則用來同步同一個WebDataSource的WebGridView與WebDetailsView,如在WebGridView的RowCommand事件中去執行WebDetailsView.ExecuteSync事件,如下:
protected void wgvDetail_RowCommand(object
sender, GridViewCommandEventArgs e)
{
if (e.CommandName ==
"Select")
{
WebDetailsView1.ExecuteSync(e);
}
}
【其它說明】
1. 如果要刪除WebDetailsView中的ExpressionField,必須先在Fields屬性中刪除此ExpressionField,再將ExpressionFieldCount屬性的值減去相應已刪除ExpressionField的數量即可。
2. WebDetailsView與WebFormView最大不一樣的處就是WebDeailsView只能有一列欄位往下排,不像WebFormView是可以依情況左右分成多個Column來排列。
3.如果把WebDetailsView的某個欄位設成readonly,但是新增時還是可以編輯,是要將該欄位的InsertVisible設為False即可防止在新增時可以輸入的問題。