




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第7章 數(shù)據(jù)服務(wù)控件和數(shù)據(jù)綁定技術(shù)7/18/202217.1 DataGrid控件基本使用 DataGrid控件用于將數(shù)據(jù)源的數(shù)據(jù)以表格形式顯示 出來,DataGrid控件的每一行代表和數(shù)據(jù)源中的一條記錄。DataGrid控件同時(shí)支持選擇、編輯、刪除、分頁、排序等操作。本節(jié)將介紹:DataGrid控件的基本屬性DataGrid控件的分頁顯示在DataGrid控件中實(shí)現(xiàn)數(shù)據(jù)排序控制DataGrid中的列7.1.1 DataGrid控件的基本屬性DataGrid是數(shù)據(jù)綁定列表控件,可以表格顯示來自數(shù)據(jù)源的項(xiàng)。DataGrid控件的屬性分為兩個(gè)主要部分,第一部分用于控制DataGrid控件的整體顯示
2、效果,包括數(shù)據(jù)源、綁定表達(dá)式、每頁容納的記錄的條數(shù)等等;第二部分用于控制記錄每個(gè)字段的顯示效果。 (日期顯示方式,頁面行列顏色及字體的設(shè)置)7.1.2 DataGrid控件的分頁顯示DataGrid控件提供了很好的分頁顯示支持。其屬性AllowPaging決定了是否使用分頁顯示,如果要使用分頁顯示,需要設(shè)置該屬性值為true。屬性PageSize用于設(shè)定每頁顯示的記錄條數(shù)。通過PageCount屬性可以獲得分頁的數(shù)量。設(shè)置PagerStyle-Mode屬性,可以設(shè)置分頁顯示的模式,可選的模式如下:NumericPages:以數(shù)字形式分頁顯示。NextPrev:以鏈接形式分頁顯示。 參見Mult
3、iPage項(xiàng)目。7.1.3在DataGrid控件中實(shí)現(xiàn)數(shù)據(jù)排序 在DataGrid中可以實(shí)現(xiàn)數(shù)據(jù)的排序(在默認(rèn)情況下DataGrid并不對(duì)數(shù)據(jù)排序)。當(dāng)AllowSorting屬性設(shè)置為true時(shí),就打開了排序功能。此時(shí)DataGrid控件的字段頭將變?yōu)榭梢渣c(diǎn)擊的鏈接。當(dāng)單擊這些鏈接時(shí)會(huì)觸發(fā)SortCommand事件。參見DataGridSort項(xiàng)目。7.1.4 控制DataGrid中的列DataGrid中的列一共有5種字段顯示模式:EditCommandColumn:將最常用的編輯命令(Edit, Update, Cancel)封裝在一個(gè)預(yù)定格式的字段中。HyperLinkColumn:創(chuàng)建
4、一個(gè)含有超級(jí)鏈接的字段,字段將綁定于數(shù)據(jù)源中的值。比如常見的從商品列表到商品詳細(xì)介紹的鏈接等等。BoundColumn:將數(shù)據(jù)源中的字段值在DataGrid中顯示出來,是默認(rèn)的字段顯示模式。ButtonColumn:創(chuàng)建一個(gè)包含按鈕的字段。TemplateColumn:使開發(fā)者自定義模板來控制字段的顯示效果。7.1.4 控制DataGrid中的列注意:在默認(rèn)情況下,AutoGenerateColumns屬性被設(shè)置為true,當(dāng)進(jìn)行數(shù)據(jù)綁定時(shí)會(huì)為數(shù)據(jù)源中的每個(gè)字段創(chuàng)建一個(gè)BoundColumn對(duì)象。如果要手工定制字段,首先要將AutoGenerateColumns屬性設(shè)置為false,然后再在標(biāo)
5、記之間添加自定義的列。 參見DataGridSetColumns項(xiàng)目。DataGrid的常用使用技巧日期的顯示傳遞DataGrid中的直在DataGrid中添加確認(rèn)刪除的對(duì)話框設(shè)置某一列為只讀不允許修改編輯在DataGrid中選擇確認(rèn)刪除多行,當(dāng)刪除該頁上只有一行數(shù)據(jù)時(shí),要注意頁面索引直當(dāng)鼠標(biāo)停留時(shí)高亮顯示該行DataGrid其他使用技巧如何使用程序隱藏和顯示DataGrid中的一列如何控制Datagrid中編輯功能出現(xiàn)的TextBox的寬度Datagrid中數(shù)據(jù)導(dǎo)出到ExcelExcel導(dǎo)入到Datagrid中7.2 Repeater控件本節(jié)將介紹:Repeater控件的基礎(chǔ)知識(shí)在Repea
6、ter控件中顯示數(shù)據(jù)編號(hào)7.2.1 Repeater控件的基礎(chǔ)知識(shí)Repeater控件是一個(gè)基本模板數(shù)據(jù)綁定列表。它沒有內(nèi)置的布局或樣式,因此必須在此控件的模板內(nèi)顯式聲明所有的HTML布局、格式設(shè)置和樣式標(biāo)記。Repeater的數(shù)據(jù)顯示形式,完全由用戶通過模板來控制,因此可以有效地彌補(bǔ)DataGrid控件顯示效果不豐富的缺點(diǎn)。Repeater控件的5種模板ItemTemplate,數(shù)據(jù)摸板,完成對(duì)列表內(nèi)容和布局的定義。這是 Repeater 控件必須的。AlternatingItemTemplate,隔行數(shù)據(jù)模板,可以用它決定交替項(xiàng)的布局和內(nèi)容,可選參數(shù)。SeparatorTemplate,分
7、割線模板,如對(duì)其進(jìn)行定義,則將會(huì)在項(xiàng)(交替項(xiàng))之間出現(xiàn)分隔符。可選參數(shù)。HeaderTemplate,標(biāo)頭模板,如對(duì)其進(jìn)行定義,則可以決定列表標(biāo)頭的布局和內(nèi)容。可選參數(shù)。FooterTemplate,注腳模板,如對(duì)其進(jìn)行定義,則可以決定列表注腳的布局和內(nèi)容??蛇x參數(shù)。7.2.2 在Repeater控件中顯示數(shù)據(jù)編號(hào)在Repeater控件中可以通過ItemTemplate制定要顯示的數(shù)據(jù)列。RepeaterDemo項(xiàng)目演示如何在Repeater控件中顯示數(shù)據(jù)的編號(hào)。7.3 DataList控件DataList數(shù)據(jù)控件和Repeater數(shù)據(jù)控件輸出的格式都取決于模板的定義,不同之處在于:DataL
8、ist在瀏覽器中會(huì)以表格的形式輸出。本節(jié)主要介紹:使用SelectedItemTemplate模板應(yīng)用DataKeyField屬性獲取主鍵在DataList控件中編輯數(shù)據(jù)DataList控件的模板除了支持Repeater控件擁有的5個(gè)模板以外,DataList控件還支持以下兩個(gè)模板:EditItemTemplate:項(xiàng)在設(shè)置為編輯模式后的布局。此模板通常包含編輯控件(如TextBox控件)。當(dāng)EditItemIndex設(shè)置為DataList控件中某一行的序號(hào)時(shí),將為該行調(diào)用EditItemTemplate。SelectedItemTemplate:當(dāng)用戶選擇DataList控件中的一項(xiàng)時(shí)呈現(xiàn)的
9、元素。通常的用法是增加所顯示的數(shù)據(jù)字段的個(gè)數(shù)并以可視形式突出標(biāo)記該行。7.3.1 使用SelectedItemTemplate模板在瀏覽數(shù)據(jù)時(shí),用戶有時(shí)并不關(guān)心記錄中所有字段的值,通常只需要每條記錄的主題信息即可。在找到合適自己的記錄后才希望看到全部信息。SelectedItemTemplate就是為了滿足這種需要而設(shè)計(jì)的。7.3.2 應(yīng)用DataKeyField屬性獲取主鍵DataKeyField屬性用于獲取或設(shè)置由DataSource屬性指定的數(shù)據(jù)源中的鍵字段。DataKeyField屬性可以存儲(chǔ)鍵字段而無需在控件中顯示它。在事件處理程序(例如 ItemCommand 或 DeleteCo
10、mmand)中,DataKeyField屬性中存儲(chǔ)的關(guān)鍵字段可以用來作為更新查詢字符串的一部分,以修改數(shù)據(jù)源中的特定記錄。鍵字段幫助更新查詢字符串標(biāo)識(shí)要修改的適當(dāng)記錄。7.3.3 在DataList控件中編輯數(shù)據(jù)DataList允許用戶編輯控件中的單個(gè)項(xiàng)。當(dāng)將單個(gè)項(xiàng)置于編輯模式中時(shí),其可編輯值通常顯示在用戶可更改值的文本框或其他控件中。參見DataListEditData項(xiàng)目。7.4 簡單服務(wù)器控件的數(shù)據(jù)綁定以上幾節(jié)介紹了DataGrid、Repeater和DataList控件,這幾個(gè)控件的使用都比較復(fù)雜。對(duì)于一些簡單的數(shù)據(jù)庫服務(wù)控件,可以通過數(shù)據(jù)綁定使其獲得一定的數(shù)據(jù)源。本節(jié)將介紹:簡單數(shù)據(jù)
11、綁定綁定控件使用DataBinder.Eval方法使用數(shù)據(jù)控件注意:盡管可通過屬性設(shè)置將數(shù)據(jù)控件綁定到所創(chuàng)建的數(shù)據(jù)集,但是,數(shù)據(jù)集本身不會(huì)被自動(dòng)填寫,必須在代碼中調(diào)用數(shù)據(jù)適配器方法來填充數(shù)據(jù)集(da.Fill(ds))。即使在數(shù)據(jù)集被填充后,數(shù)據(jù)控件仍不會(huì)自動(dòng)顯示數(shù)據(jù),必須將數(shù)據(jù)控件顯示綁定到它的數(shù)據(jù)源(dg.DataBind())。7.4.1 簡單數(shù)據(jù)綁定 ASP.NET 支持服務(wù)器端的數(shù)據(jù)綁定,數(shù)據(jù)綁定表達(dá)式的語法如下:其中,“#”表示要進(jìn)行數(shù)據(jù)綁定操作。ASP.NET頁面不會(huì)自動(dòng)執(zhí)行數(shù)據(jù)綁定操作,只有在程序中調(diào)用DataBind()方法時(shí),才會(huì)執(zhí)行綁定操作。每個(gè)控件都有DataBind(
12、)方法,而且Page對(duì)象也有DataBind()方法。當(dāng)調(diào)用Page對(duì)象的DataBind()方法時(shí), ASP.NET頁面會(huì)自動(dòng)調(diào)用頁面中每個(gè)控件的DataBind()方法。參見SimpleBinding項(xiàng)目。7.4.2 綁定控件除了可以將簡單數(shù)據(jù)綁定到控件,還可以將一個(gè)控件綁定到指定的控件,如把DataView控件綁定到DataGrid控件。以下幾個(gè)控件可以賦值給DataSource屬性,進(jìn)行數(shù)據(jù)綁定:ArrayList對(duì)象。集合。數(shù)據(jù)閱讀器(DataReader)。DataView對(duì)象。DataRow對(duì)象。數(shù)據(jù)集中的DataTable對(duì)象。綁定控件屬性設(shè)置將DataSource屬性設(shè)置為數(shù)
13、據(jù)集后,將DataMember屬性設(shè)置為要綁定到的表的名稱。如果未設(shè)置該屬性,在默認(rèn)情況下使用數(shù)據(jù)集中的第一個(gè)表。將DataTextField屬性設(shè)置為要在控件中顯示的數(shù)據(jù)列的名稱。設(shè)置DataValueField屬性來指定在用戶選擇一項(xiàng)時(shí)控件應(yīng)返回為其值的列的名稱。設(shè)置完以上屬性后,調(diào)用DataBind方法即可實(shí)現(xiàn)數(shù)據(jù)綁定。7.4.2 綁定控件private void Page_Load(object sender, System.EventArgs e) sqlDataAdapter1.Fill(dsAuthors1); if (! this.IsPostBack) ListBox1.Da
14、taSource = dsAuthors1; ListBox1.DataMember = authors; ListBox1.DataTextField = au_id; ListBox1.DataValueField = au_lname; ListBox1.DataBind(); 該段代碼添加入SimpleBinding項(xiàng)目中。7.4.3 使用DataBinder.Eval方法DataBinder.Eval方法是一個(gè)靜態(tài)方法,在運(yùn)行時(shí)使用反射來分析和計(jì)算對(duì)象的數(shù)據(jù)綁定表達(dá)式。此方法方法可通過聲明方式在Web窗體頁上使用,以簡化類型之間的轉(zhuǎn)換。public static object Eval( object container, string expression);public static string Eval( object container, string expression, string
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 任務(wù)驅(qū)動(dòng)活動(dòng)對(duì)素養(yǎng)提升的影響與策略
- 醫(yī)療通信安全管理辦法
- 學(xué)科交叉研究面臨的挑戰(zhàn)與解決路徑
- 國有企業(yè)中介服務(wù)機(jī)構(gòu)選聘流程與標(biāo)準(zhǔn)
- 農(nóng)業(yè)綜合資金管理辦法
- 城鄉(xiāng)融合:礦山生態(tài)修復(fù)規(guī)劃策略研究
- 機(jī)電設(shè)施養(yǎng)護(hù)管理辦法
- 工程建設(shè)標(biāo)準(zhǔn)規(guī)范
- 工廠安全知識(shí)培訓(xùn)資料
- 生產(chǎn)車間管理目視看板
- H3C全系列產(chǎn)品visio圖標(biāo)庫
- 區(qū)塊鏈挖礦周期與收益分析
- 2024年人類對(duì)外星生命的深入探索
- 造謠法律聲明書范本
- (完整word版)高中英語3500詞匯表
- 輸變電工程檔案管理歸檔要求
- SYB創(chuàng)業(yè)培訓(xùn)游戲模塊2課件
- 獸醫(yī)傳染病學(xué)(山東聯(lián)盟)智慧樹知到答案章節(jié)測試2023年青島農(nóng)業(yè)大學(xué)
- 腸系膜脈管系統(tǒng)腫瘤的診斷
- GB/T 35273-2020信息安全技術(shù)個(gè)人信息安全規(guī)范
- GB 18068-2000水泥廠衛(wèi)生防護(hù)距離標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論