第六講 DetailsView與FormViw._第1頁(yè)
第六講 DetailsView與FormViw._第2頁(yè)
第六講 DetailsView與FormViw._第3頁(yè)
第六講 DetailsView與FormViw._第4頁(yè)
第六講 DetailsView與FormViw._第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第五第五講講 數(shù)據(jù)控件數(shù)據(jù)控件1. 2. 3. 4. 目目 錄錄DetailsView控件控件v DetailsView控件用來(lái)在表中顯示來(lái)自數(shù)據(jù)源的單條記錄,其中記錄的每控件用來(lái)在表中顯示來(lái)自數(shù)據(jù)源的單條記錄,其中記錄的每個(gè)字段顯示在表的一行中。它可與個(gè)字段顯示在表的一行中。它可與GridView控件結(jié)合使用,以用于主控件結(jié)合使用,以用于主/詳詳細(xì)信息方案。細(xì)信息方案。DetailsView控件支持下面的功能:控件支持下面的功能:n綁定至數(shù)據(jù)源控件,如SqlDataSource。n內(nèi)置插入功能。n內(nèi)置更新和刪除功能。n內(nèi)置分頁(yè)功能。n以編程方式訪問(wèn) DetailsView 對(duì)象模型以動(dòng)態(tài)設(shè)置

2、屬性、處理事件等。n可通過(guò)主題和樣式進(jìn)行自定義的外觀。n行字段DetailsView列字段列字段DetailsView控件中的每個(gè)數(shù)據(jù)行是通過(guò)聲明一個(gè)字段控件創(chuàng)建的。字段控控件中的每個(gè)數(shù)據(jù)行是通過(guò)聲明一個(gè)字段控件創(chuàng)建的。字段控件派生自件派生自DataControlField。下表列出了可以使用的不同行字段類型。下表列出了可以使用的不同行字段類型。列字段類型列字段類型說(shuō)明說(shuō)明BoundField以文本形式顯示數(shù)據(jù)源中某個(gè)字段的值。ButtonField在DetailsView控件中顯示一個(gè)命令按鈕。這允許顯示一個(gè)帶有自定義按鈕(如“添加”或“移除”按鈕)控件的行。CheckBoxField在De

3、tailsView控件中顯示一個(gè)復(fù)選框。此行字段類型通常用于顯示具有布爾值的字段。CommandField在DetailsView控件中顯示用來(lái)執(zhí)行編輯、插入或刪除操作的內(nèi)置命令按鈕。HyperLinkField將數(shù)據(jù)源中某個(gè)字段的值顯示為超鏈接。此行字段類型允許將另一個(gè)字段綁定到超鏈接的URL。ImageField在DetailsView控件中顯示圖像。TemplateField根據(jù)指定的模板,為DetailsView控件中的行顯示用戶定義的內(nèi)容。此行字段類型允許創(chuàng)建自定義的行字段。DetailsView的數(shù)據(jù)綁定的數(shù)據(jù)綁定v 默認(rèn)情況下,默認(rèn)情況下,AutoGenerateRows屬性設(shè)置

4、為屬性設(shè)置為true,它,它為數(shù)據(jù)源中某個(gè)可綁定類型的每個(gè)字段自動(dòng)生成一個(gè)綁定行為數(shù)據(jù)源中某個(gè)可綁定類型的每個(gè)字段自動(dòng)生成一個(gè)綁定行字段對(duì)象。字段對(duì)象。v 若要使用若要使用DetailsView控件的高級(jí)功能,必須顯式聲明要包控件的高級(jí)功能,必須顯式聲明要包含在含在DetailsView控件中的行字段??丶械男凶侄?。v 可以通過(guò)設(shè)置可以通過(guò)設(shè)置DetailsView控件的不同部分的樣式屬性來(lái)自控件的不同部分的樣式屬性來(lái)自定義該控件的外觀。定義該控件的外觀。DetailsView樣式屬性樣式屬性樣式屬性樣式屬性說(shuō)明說(shuō)明AlternatingRowStyleDetailsView控件中的交替數(shù)據(jù)

5、行的樣式設(shè)置。當(dāng)設(shè)置了此屬 性 時(shí) , 數(shù) 據(jù) 行 交 替 使 用 R o w S t y l e 設(shè) 置 和AlternatingRowStyle設(shè)置進(jìn)行顯示。CommandRowStyleDetailsView控件中包含內(nèi)置命令按鈕的行的樣式設(shè)置。EditRowStyleDetailsView控件處于編輯模式時(shí)數(shù)據(jù)行的樣式設(shè)置。EmptyDataRowStyle當(dāng)數(shù)據(jù)源不包含任何記錄時(shí),DetailsView控件中顯示的空數(shù)據(jù)行的樣式設(shè)置。FooterStyleDetailsView控件的腳注行的樣式設(shè)置。HeaderStyleDetailsView控件的標(biāo)題行的樣式設(shè)置。InsertRo

6、wStyleDetailsView控件處于插入模式時(shí)數(shù)據(jù)行的樣式設(shè)置。PagerStyleDetailsView控件的頁(yè)導(dǎo)航行的樣式設(shè)置。RowStyleDetailsView控件中的數(shù)據(jù)行的樣式設(shè)置。當(dāng)還設(shè)置了AlternatingRowStyle屬性時(shí),數(shù)據(jù)行交替使用RowStyle設(shè)置和AlternatingRowStyle設(shè)置進(jìn)行顯示。FieldHeaderStyleDetailsView控件的標(biāo)題列的樣式設(shè)置。DetailsView的事件的事件事件事件說(shuō)明說(shuō)明ItemCommand當(dāng)單擊DetailsView控件中的按鈕時(shí)發(fā)生。ItemCreated在DetailsView控件中創(chuàng)建

7、了所有DetailsViewRow對(duì)象之后發(fā)生。此事件通常用于在顯示記錄前修改該記錄的值。ItemDeleted在單擊“刪除”按鈕時(shí),但在DetailsView控件從數(shù)據(jù)源中刪除該記錄之后發(fā)生。此事件通常用于檢查刪除操作的結(jié)果。ItemDeleting在單擊“刪除”按鈕時(shí),但在DetailsView控件從數(shù)據(jù)源中刪除該記錄之前發(fā)生。此事件通常用于取消刪除操作。ItemInserted在單擊“插入”按鈕時(shí),但在DetailsView控件插入該記錄之后發(fā)生。此事件通常用于檢查插入操作的結(jié)果。ItemInserting在單擊“插入”按鈕時(shí),但在DetailsView控件插入該記錄之前發(fā)生。此事件通常

8、用于取消插入操作。DetailsView控件控件事件事件說(shuō)明說(shuō)明ItemUpdated在單擊“更新”按鈕時(shí),但在DetailsView控件更新該行之后發(fā)生。此事件通常用于檢查更新操作的結(jié)果。ItemUpdating在單擊“更新”按鈕時(shí),但在DetailsView控件更新該記錄之前發(fā)生。此事件通常用于取消更新操作。ModeChanged在DetailsView控件更改模式(編輯、插入或只讀模式)之后發(fā)生。此事件通常用于在DetailsView控件更改模式時(shí)執(zhí)行某項(xiàng)任務(wù)。ModeChanging在DetailsView控件更改模式(編輯、插入或只讀模式)之前發(fā)生。此事件通常用于取消模式更改。Pag

9、eIndexChanged在單擊某一頁(yè)導(dǎo)航按鈕時(shí),但在DetailsView控件處理分頁(yè)操作之后發(fā)生。此事件通常在用戶導(dǎo)航到控件中的不同記錄之后需要執(zhí)行某項(xiàng)任務(wù)時(shí)使用。PageIndexChanging在單擊某一頁(yè)導(dǎo)航按鈕時(shí),但在DetailsView控件處理分頁(yè)操作之前發(fā)生。此事件通常用于取消分頁(yè)操作。DetailsViewv數(shù)據(jù)綁定數(shù)據(jù)綁定只能顯示單條記錄如何顯示下一條?SqlDataSource+DetailsView DetailsViewv數(shù)據(jù)分頁(yè)數(shù)據(jù)分頁(yè)nAllowPaging=truenPagerSettings設(shè)置頁(yè)導(dǎo)航Mode屬性 頁(yè)導(dǎo)航DetailsViewv數(shù)據(jù)編輯、刪除

10、和插入數(shù)據(jù)編輯、刪除和插入n數(shù)據(jù)源控件(如SqlDataSource)要提供數(shù)據(jù)編輯和刪除功能。 【返回】 FormView控件控件v FormView控件用于顯示數(shù)據(jù)源中的單個(gè)記錄。通過(guò)創(chuàng)建自控件用于顯示數(shù)據(jù)源中的單個(gè)記錄。通過(guò)創(chuàng)建自己的模板可以更靈活地控制數(shù)據(jù)的顯示方式。己的模板可以更靈活地控制數(shù)據(jù)的顯示方式。FormView控控件支持以下功能:件支持以下功能:n綁定到數(shù)據(jù)源控件,如SqlDataSource和ObjectDataSource。n內(nèi)置插入功能。n內(nèi)置更新和刪除功能。n內(nèi)置分頁(yè)功能。n以編程方式訪問(wèn)FormView對(duì)象模型以動(dòng)態(tài)設(shè)置屬性、處理事件等。n可通過(guò)用戶定義的模板、主

11、題和樣式自定義外觀。FormView控件模板控件模板v 要使要使FormView控件顯示內(nèi)容,需要為該控件的不同部分創(chuàng)控件顯示內(nèi)容,需要為該控件的不同部分創(chuàng)建模板。建模板。v 大多數(shù)模板是可選的;但是,必須為該控件的配置模式創(chuàng)建大多數(shù)模板是可選的;但是,必須為該控件的配置模式創(chuàng)建模板。例如,必須為支持插入記錄的模板。例如,必須為支持插入記錄的FormView控件定義插控件定義插入項(xiàng)模板。入項(xiàng)模板。模板類型模板類型說(shuō)明說(shuō)明EditItemTemplate定義數(shù)據(jù)行在FormView控件處于編輯模式時(shí)的內(nèi)容。此模板通常包含用戶可以用來(lái)編輯現(xiàn)有記錄的輸入控件和命令按鈕。EmptyDataTempla

12、te定義在FormView控件綁定到不包含任何記錄的數(shù)據(jù)源時(shí)所顯示的空數(shù)據(jù)行的內(nèi)容。此模板通常包含用來(lái)警告用戶數(shù)據(jù)源不包含任何記錄的內(nèi)容。FormView控件模板控件模板模板類型模板類型說(shuō)明說(shuō)明FooterTemplate定義腳注行的內(nèi)容。此模板通常包含任何要在腳注行中顯示的附加內(nèi)容。HeaderTemplate定義標(biāo)題行的內(nèi)容。此模板通常包含任何要在標(biāo)題行中顯示的附加內(nèi)容。ItemTemplate定義數(shù)據(jù)行在FormView控件處于只讀模式時(shí)的內(nèi)容。此模板通常包含用來(lái)顯示現(xiàn)有記錄的值的內(nèi)容。InsertItemTemplate定義數(shù)據(jù)行在FormView控件處于插入模式時(shí)的內(nèi)容。此模板通常包

13、含用戶可以用來(lái)添加新記錄的輸入控件和命令按鈕。PagerTemplate定義在啟用分頁(yè)功能時(shí)(即AllowPaging屬性設(shè)置為true時(shí))所顯示的頁(yè)導(dǎo)航行的內(nèi)容。此模板通常包含用戶可以用來(lái)導(dǎo)航至另一個(gè)記錄的控件。(FormView控件具有內(nèi)置頁(yè)導(dǎo)航行用戶界面(UI)。僅當(dāng)希望創(chuàng)建您自己的自定義頁(yè)導(dǎo)航行時(shí)才需要?jiǎng)?chuàng)建頁(yè)導(dǎo)航模板)FormView樣式屬性樣式屬性v 以通過(guò)設(shè)置以通過(guò)設(shè)置FormView控件的不同部分的樣式屬性自定義該控件的不同部分的樣式屬性自定義該控件的外觀。下表列出了不同的樣式屬性??丶耐庥^。下表列出了不同的樣式屬性。樣式屬性樣式屬性說(shuō)明說(shuō)明EditRowStyleFormVi

14、ew控件處于編輯模式時(shí)數(shù)據(jù)行的樣式設(shè)置。EmptyDataRowStyle數(shù)據(jù)源不包含任何記錄時(shí)FormView控件中顯示的空數(shù)據(jù)行的樣式設(shè)置。FooterStyleFormView控件的腳注行的樣式設(shè)置。HeaderStyleFormView控件的標(biāo)題行的樣式設(shè)置。InsertRowStyleFormView控件處于插入模式時(shí)數(shù)據(jù)行的樣式設(shè)置。PagerStyle啟用分頁(yè)功能時(shí)FormView控件中顯示的頁(yè)導(dǎo)航行的樣式設(shè)置。RowStyleFormView控件處于只讀模式時(shí)數(shù)據(jù)行的樣式設(shè)置。FormView事件事件事件事件說(shuō)明說(shuō)明ItemCommand在單擊FormView控件中的按鈕時(shí)發(fā)生

15、。此事件通常用于在控件中單擊按鈕時(shí)執(zhí)行某項(xiàng)任務(wù)。ItemCreated在FormView控件中創(chuàng)建了所有FormViewRow對(duì)象之后發(fā)生。此事件通常用于在顯示記錄前修改該記錄的值。ItemDeleted在單擊“刪除”按鈕(CommandName屬性設(shè)置為“Delete”的按鈕)時(shí),但在FormView控件從數(shù)據(jù)源中刪除該記錄之后發(fā)生。此事件通常用于檢查刪除操作的結(jié)果。ItemDeleting在單擊“刪除”按鈕時(shí),但在FormView控件從數(shù)據(jù)源中刪除該記錄之前發(fā)生。此事件通常用于取消刪除操作。ItemInserted在單擊“插入”按鈕(CommandName屬性設(shè)置為“Insert”的按鈕)

16、時(shí),但在FormView控件插入記錄之后發(fā)生。此事件通常用于檢查插入操作的結(jié)果。ItemInserting在單擊“插入”按鈕時(shí),但在FormView控件插入記錄之前發(fā)生。此事件通常用于取消插入操作。事件事件說(shuō)明說(shuō)明ItemUpdated在單擊“更新”按鈕(CommandName屬性設(shè)置為“Update”的按鈕)時(shí),但在FormView控件更新行之后發(fā)生。此事件通常用于檢查更新操作的結(jié)果。ItemUpdating在單擊“更新”按鈕時(shí),但在FormView控件更新記錄之前發(fā)生。此事件通常用于取消更新操作。ModeChanged在FormView控件更改模式(更改為編輯、插入或只讀模式)之后發(fā)生。此

17、事件通常用于在FormView控件更改模式時(shí)執(zhí)行某項(xiàng)任務(wù)。ModeChanging在FormView控件更改模式(更改為編輯、插入或只讀模式)之前發(fā)生。此事件通常用于取消模式更改。PageIndexChanged在單擊某一頁(yè)導(dǎo)航按鈕時(shí),但在FormView控件處理分頁(yè)操作之后發(fā)生。此事件通常在用戶導(dǎo)航到控件中的不同記錄之后需要執(zhí)行某項(xiàng)任務(wù)時(shí)使用。PageIndexChanging在單擊某一頁(yè)導(dǎo)航按鈕時(shí),但在FormView控件處理分頁(yè)操作之前發(fā)生。此事件通常用于取消分頁(yè)操作。FormView事件事件FormViewv FormView控件模版類型控件模版類型模版類型模版類型說(shuō)說(shuō) 明明EditI

18、temTemplate定義數(shù)據(jù)行在定義數(shù)據(jù)行在FormView控件處于控件處于編輯模式編輯模式時(shí)的內(nèi)容時(shí)的內(nèi)容EmptyDataTemplate定義在定義在FormView控件綁定到不包含任何記錄的數(shù)據(jù)源控件綁定到不包含任何記錄的數(shù)據(jù)源時(shí)所顯示的空數(shù)據(jù)行的內(nèi)容時(shí)所顯示的空數(shù)據(jù)行的內(nèi)容FooterTemplate定義腳注行的內(nèi)容定義腳注行的內(nèi)容HeaderTemplate定義標(biāo)題行的內(nèi)容定義標(biāo)題行的內(nèi)容ItemTemplate定義數(shù)據(jù)行在定義數(shù)據(jù)行在FormView控件處于控件處于只讀模式只讀模式時(shí)的內(nèi)容時(shí)的內(nèi)容InsertItemTemplate定義數(shù)據(jù)行在定義數(shù)據(jù)行在FormView控件處于

19、控件處于插入模式插入模式時(shí)的內(nèi)容時(shí)的內(nèi)容PagerTemplate定義在啟用分頁(yè)功能時(shí)所顯示的頁(yè)導(dǎo)航行的內(nèi)容定義在啟用分頁(yè)功能時(shí)所顯示的頁(yè)導(dǎo)航行的內(nèi)容FormView控件不指定用于顯示記錄的預(yù)定義布局,開發(fā)人員可以創(chuàng)建包含控件的模板,以顯示記錄中的各個(gè)字段。 示例示例v數(shù)據(jù)綁定數(shù)據(jù)綁定 SqlDataSource+FormView選擇“ItemTemplate”模版,在該模版中手工添加顯示數(shù)據(jù)的控件 全部用Label即可示例示例FormView與DetailsView很相似,一次只能顯示單條記錄,因此需要啟動(dòng)分頁(yè)功能。v數(shù)據(jù)分頁(yè)數(shù)據(jù)分頁(yè) AllowPaging=True 設(shè)置PagerSett

20、ings屬性示例示例v數(shù)據(jù)編輯、刪除和插入數(shù)據(jù)編輯、刪除和插入 選擇“EditItemTemplate”模版,在該模版中手工添加編輯數(shù)據(jù)的控件和命令按鈕 【GO】選擇“InsertItemTemplate”模版,在該模版中手工添加插入數(shù)據(jù)的控件和命令按鈕【GO】刪除命令按鈕放在何處? 【GO】【返回】EditItemTemplate模版模版LabelTextBoxLinkButton命令按鈕EditItemTemplate模版內(nèi)容模版內(nèi)容SNO: asp:Label ID=SNOLabel1 runat=server Text= /NAME: asp:TextBox ID=NAMETextBo

21、x runat=server Text= / SEX:asp:TextBox ID=SEXTextBox runat=server Text= / AGE: asp:TextBox ID=AGETextBox runat=server Text= /  Eval方法:只讀Bind方法:支持讀/寫功能 注意命令按鈕用法FormView控件識(shí)別的命令按鈕控件識(shí)別的命令按鈕 按鈕類型按鈕類型CommandName值值說(shuō)說(shuō) 明明取消取消Cancel在更新或插入操作中用于取消操作和放棄用戶輸入的在更新或插入操作中用于取消操作和放棄用戶輸入的值,將引發(fā)值,將引發(fā) ItemCanceling事件事件刪除刪除Delete在刪除操作中用于從數(shù)據(jù)源中刪除顯示的記錄,將引在刪除操作中用于從數(shù)據(jù)源中刪除顯示的記錄,將引發(fā)發(fā) ItemDeleting和和ItemDeleted事件事件編輯編輯Edit在更新操作中用于使在更新操作中用于使FormView控件處于編輯模式,控件處于編輯模式,呈現(xiàn)項(xiàng)的呈現(xiàn)項(xiàng)的EditItemTemplate模板,引發(fā)模板,引發(fā)ItemEditing事件事件插入插入In

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論