第9章 數(shù)據(jù)綁定和數(shù)據(jù)控件_第1頁(yè)
第9章 數(shù)據(jù)綁定和數(shù)據(jù)控件_第2頁(yè)
第9章 數(shù)據(jù)綁定和數(shù)據(jù)控件_第3頁(yè)
第9章 數(shù)據(jù)綁定和數(shù)據(jù)控件_第4頁(yè)
第9章 數(shù)據(jù)綁定和數(shù)據(jù)控件_第5頁(yè)
已閱讀5頁(yè),還剩15頁(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、ASP.NET3.5簡(jiǎn)明教程簡(jiǎn)明教程(C#C#)重點(diǎn)內(nèi)容:重點(diǎn)內(nèi)容:l 數(shù)據(jù)綁定簡(jiǎn)介數(shù)據(jù)綁定簡(jiǎn)介l 數(shù)據(jù)源控件數(shù)據(jù)源控件l GridViewGridView控件控件l DetailsViesDetailsVies控件控件l FormViewFormView控件控件l ListViewListView控件控件ASP.NET3.5簡(jiǎn)明教程簡(jiǎn)明教程(C#C#)ASP.NET可以利用兩種類(lèi)型的數(shù)據(jù)綁定:簡(jiǎn)單綁定和復(fù)雜綁定。 簡(jiǎn)單數(shù)據(jù)綁定將一個(gè)控件綁定到單個(gè)數(shù)據(jù)元素(如數(shù)據(jù)集表的列中的值)。這是用于諸如TextBox或Label之類(lèi)的控件(通常是只顯示單個(gè)值的控件)的典型綁定類(lèi)型。事實(shí)上,控件上的任何屬

2、性都可以綁定到數(shù)據(jù)庫(kù)中的字段。簡(jiǎn)單數(shù)據(jù)綁定的步驟如下:(1) 連接到數(shù)據(jù)源。(2) 在窗體中,選擇該控件并顯示“屬性”窗口。(3) 展開(kāi)DataBindings屬性。 最常綁定的屬性在DataBindings屬性下顯示。例如,在大多數(shù)控件中,最經(jīng)常綁定的是Text屬性。(4) 如果要綁定的屬性不是常見(jiàn)的綁定屬性,請(qǐng)單擊“(高級(jí))”框中的“省略號(hào)()按鈕,以顯示帶有該控件的完整屬性列表的“高級(jí)數(shù)據(jù)綁定”對(duì)話框。(5) 單擊要綁定的屬性的下拉箭頭,顯示可用數(shù)據(jù)源的列表。(6) 展開(kāi)要綁定到的數(shù)據(jù)源,直到找到所需的單個(gè)數(shù)據(jù)元素。例如,如果要綁定到數(shù)據(jù)集表中的某個(gè)列值,則請(qǐng)展開(kāi)該數(shù)據(jù)集的名稱,然后展開(kāi)

3、該表名以顯示列名。(7) 單擊要綁定到的元素的名稱。(8) 如果正在“高級(jí)數(shù)據(jù)綁定”對(duì)話框中工作,單擊“關(guān)閉”返回“屬性”窗口。 ASP.NET3.5簡(jiǎn)明教程簡(jiǎn)明教程(C#C#)SimpleDataBinding.aspx的網(wǎng)頁(yè) 頁(yè)面設(shè)計(jì) 頁(yè)面代碼protected void Button1_Click(object sender, EventArgs e)Page.DataBind(); 運(yùn)行效果ASP.NET3.5簡(jiǎn)明教程簡(jiǎn)明教程(C#C#)在ASP.NET頁(yè)面文件中,SqlDataSource控件定義的標(biāo)記同其他控件一樣,示例如下:通過(guò)SqlDataSource控件,可以使用Web控件訪

4、問(wèn)位于某個(gè)關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù),該數(shù)據(jù)庫(kù)包括Microsoft SQLServer和Oracle數(shù)據(jù)庫(kù),以及OLE DB和ODBC數(shù)據(jù)源??梢詫?SqlDataSource控件和用于顯示數(shù)據(jù)的其他控件(如GridView、FormView和DetailsView控件)結(jié)合使用,使用很少的代碼或不使用代碼就可以在ASP.NET網(wǎng)頁(yè)中顯示和操作數(shù)據(jù)。 可以按照如下步驟將SqlDataSource控件連接至數(shù)據(jù)源:(1) 將ProviderName屬性設(shè)置為數(shù)據(jù)庫(kù)類(lèi)型(默認(rèn)為System.Data.SqlClient)(2) 將ConnectionString屬性設(shè)置為連接字符串,該字符串包含連接至數(shù)

5、據(jù)庫(kù)所需的信息。 ASP.NET3.5簡(jiǎn)明教程簡(jiǎn)明教程(C#C#)ASP.NET3.5簡(jiǎn)明教程簡(jiǎn)明教程(C#C#)SqlDataSource控件具有如下幾個(gè)功能: (1) 執(zhí)行數(shù)據(jù)庫(kù)操作命令 (2) 返回DataSet或DataReader對(duì)象 (3) 進(jìn)行緩存 (4) 篩選 (5) 排序 ASP.NET3.5簡(jiǎn)明教程簡(jiǎn)明教程(C#C#)頁(yè)面Default.aspx DropdownlList的定義代碼:中國(guó)美國(guó)法國(guó)新加坡 ASP.NET3.5簡(jiǎn)明教程簡(jiǎn)明教程(C#C#)從工具箱中向頁(yè)面中拖入一個(gè)SqlDataSource控件。配置SqlDataSource控件的屬性ConnectionStr

6、ing,它的值是從Web.config文件中讀取的節(jié)定義的名為pubs的字符串。通過(guò)屬性ConnectionString連接到SQLServer數(shù)據(jù)庫(kù)BookSample,數(shù)據(jù)庫(kù)BookSample的詳細(xì)信息參考本書(shū)提供的源代碼。設(shè)置SelectCommand的值,它存儲(chǔ)SQL命令,SQL包含一個(gè)參數(shù),代碼如程序清單SELECT StuName, ID FROM Students where state = State添加屬性的定義,代碼如程序清單 從工具箱中向頁(yè)面中拖入一個(gè)ListBox控件,并設(shè)置該控件的DataSourceID為前面創(chuàng)建的數(shù)據(jù)源控件。 ASP.NET3.5簡(jiǎn)明教程簡(jiǎn)明教程

7、(C#C#)ASP.NET3.5簡(jiǎn)明教程簡(jiǎn)明教程(C#C#)ASP.NET3.5簡(jiǎn)明教程簡(jiǎn)明教程(C#C#)當(dāng)數(shù)據(jù)很多,不能一頁(yè)顯示完時(shí)就需要進(jìn)行分頁(yè)顯示了。GridView控件提供了很好的分頁(yè)顯示支持。從表7-1可以知道,屬性AllowPaging決定是否使用分頁(yè)顯示,如果要使用分頁(yè)顯示,需要設(shè)置該屬性值為true,否則該屬性為false。使用PagerSetting屬性可以設(shè)置分頁(yè)顯示的模式,可以通過(guò)設(shè)置PagerSettings類(lèi)的Mode屬性來(lái)自定義分頁(yè)模式。Mode屬性的值包括:NextPrevious:上一頁(yè)按鈕和下一頁(yè)按鈕。NextPreviousFirstLast:上一頁(yè)按鈕、

8、下一頁(yè)按鈕、第一頁(yè)按鈕和最后一頁(yè)按鈕。Numeric:可直接訪問(wèn)頁(yè)面的帶編號(hào)的鏈接按鈕。NumericFirstLast:帶編號(hào)的鏈接按鈕、第一個(gè)鏈接按鈕和最后一個(gè)鏈接按鈕。 分頁(yè)示例參見(jiàn)本書(shū)例9-4.ASP.NET3.5簡(jiǎn)明教程簡(jiǎn)明教程(C#C#)在GridView中可以實(shí)現(xiàn)數(shù)據(jù)的排序(在默認(rèn)情況下GridView并不對(duì)數(shù)據(jù)排序)。當(dāng)AllowSorting屬性設(shè)置為true時(shí),就打開(kāi)了排序功能。此時(shí)GridView控件的字段頭將變?yōu)榭梢渣c(diǎn)擊的鏈接。當(dāng)單擊這些鏈接時(shí)會(huì)觸發(fā)Sorting和Sorted事件。Sorting事件的語(yǔ)法定義如下所示。public delegate void Grid

9、ViewSortEventHandler (Object sender,GridViewSortEventArgs e)public event GridViewSortEventHandler Sorting其中,GridViewSortEventArgs參數(shù)的SortExpression屬性表示的是要進(jìn)行排序的字段名。該屬性可以賦值給DataView的Sort屬性進(jìn)行排序操作。 排序示例參見(jiàn)本書(shū)例9-5.ASP.NET3.5簡(jiǎn)明教程簡(jiǎn)明教程(C#C#)ASP.NET3.5簡(jiǎn)明教程簡(jiǎn)明教程(C#C#)默認(rèn)情況下,在DetailsView控件中一次只能顯示一行數(shù)據(jù),如果有很多行數(shù)據(jù)的話,就需要

10、使用GridView控件一次或分頁(yè)顯示。不過(guò),DetailsView控件也支持分頁(yè)顯示數(shù)據(jù),即,把來(lái)自數(shù)據(jù)源的控件利用分頁(yè)的方式一次一行地的顯示出來(lái),有時(shí)一行數(shù)據(jù)的信息過(guò)多的話,利用這種方式顯示數(shù)據(jù)的效果可能會(huì)更好。若要啟用DetailsView控件的分頁(yè)行為,則需要把屬性AllowPaging設(shè)置為true,而其頁(yè)面大小則是固定,始終都是一行。當(dāng)啟用DetailsView控件的分頁(yè)行為時(shí),則可以通過(guò)PagerSettings屬性來(lái)設(shè)置控件的分頁(yè)界面。 示例參見(jiàn)本書(shū)例9-6.ASP.NET3.5簡(jiǎn)明教程簡(jiǎn)明教程(C#C#)本節(jié)將介紹如何DetailsView控件中操作數(shù)據(jù),與GridView控

11、件相比,可以在DetailsView控件中進(jìn)行插入操作。DetailsView控件本身自帶了編輯數(shù)據(jù)的功能,只要把屬性AutoGenerateDeleteButton、 AutoGenerateInsertButton和AutoGenerateEditButton設(shè)置為true就可以啟用DetailsView控件的編輯數(shù)據(jù)的功能,當(dāng)然實(shí)際的數(shù)據(jù)操作過(guò)程還是在數(shù)據(jù)源控件中進(jìn)行。此外,程序員還可以利用CommandField字段或TempleField字段來(lái)自定義DetailsView控件的編輯數(shù)據(jù)的界面。 示例參見(jiàn)本書(shū)例9-7.ASP.NET3.5簡(jiǎn)明教程簡(jiǎn)明教程(C#C#)FormView控件

12、和DetailsView控件一樣用來(lái)顯示單條數(shù)據(jù),F(xiàn)ormView控件和DetailsView控件之間的差別在于DetailsView控件使用表格布局,在該布局中,記錄的每個(gè)字段都各自顯示為一行。而FormView控件不指定用于顯示記錄的預(yù)定義布局。實(shí)際上,讀者將創(chuàng)建一個(gè)包含控件的模板,以顯示記錄中的各個(gè)字段。該模板中包含用于創(chuàng)建窗體的格式、控件和綁定表達(dá)式。下圖的示例顯示使用FormView控件查看單個(gè)數(shù)據(jù)庫(kù)記錄。FormView控件與GridView控件相似,它使用完全相同的安裝機(jī)制。因此,F(xiàn)ormView控件與GridView控件也會(huì)形成很好的互補(bǔ)。將FormView連接到GridView也可以更好地控制更

溫馨提示

  • 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)論