三十三:基于DataList和Repeater使用DropDownList過(guò)濾的主從報(bào)表_第1頁(yè)
三十三:基于DataList和Repeater使用DropDownList過(guò)濾的主從報(bào)表_第2頁(yè)
三十三:基于DataList和Repeater使用DropDownList過(guò)濾的主從報(bào)表_第3頁(yè)
三十三:基于DataList和Repeater使用DropDownList過(guò)濾的主從報(bào)表_第4頁(yè)
三十三:基于DataList和Repeater使用DropDownList過(guò)濾的主從報(bào)表_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、在ASP.NET 2.0中操作數(shù)據(jù)之三十三:基于DataList和Repeater使用DropDownList過(guò)濾的主/從報(bào)表作者:heker2007 字體:增加減小 類(lèi)型:轉(zhuǎn)載 時(shí)間:2016-05-09我要評(píng)論前面已經(jīng)介紹過(guò)使用DropDownList過(guò)濾的主/從報(bào)表,不過(guò)當(dāng)時(shí)是基于GridView,本文算是復(fù)習(xí)一下,基于DataList和Repeater再次實(shí)現(xiàn)一下相同的功能。導(dǎo)言在前面的使用DropDownList過(guò)濾的主/從報(bào)表一章里我們使用GridView創(chuàng)建的主/從表,顯示一些主記錄.用戶(hù)可以根據(jù)主記錄來(lái)查看從(詳細(xì))的內(nèi)容.主/從表在呈現(xiàn)一對(duì)多關(guān)系和含多列的表的信息時(shí)是一個(gè)好的

2、選擇.在前面我們已經(jīng)學(xué)過(guò)如何使用GridView和DetailsView來(lái)實(shí)現(xiàn).本章和后面兩章我們將重新復(fù)習(xí)一下這些概念,但是主要學(xué)習(xí)使用DataList和Repeater來(lái)實(shí)現(xiàn).本章我們將學(xué)習(xí)使用DropDownList包含主記錄,而在DataList里顯示從記錄.第一步: 增加主/從教程頁(yè)首先增加本教程會(huì)用到的文件夾(DataListRepeaterFiltering)和頁(yè).新建頁(yè)的時(shí)候記得選擇Site.master.Default.aspxFilterByDropDownList.aspxCategoryListMaster.aspxProductsForCategoryDetails.

3、aspxCategoriesAndProducts.aspx圖 1: 創(chuàng)建DataListRepeaterFiltering文件夾和頁(yè)然后打開(kāi)Default.aspx頁(yè),將SectionLevelTutorialListing.ascx用戶(hù)控件拖進(jìn)來(lái).圖2: 在Default.aspx頁(yè)里增加SectionLevelTutorialListing.ascx我們需要將主/從教程添加到site map里.打開(kāi)Web.sitemap,將下面的標(biāo)記添加到“Displaying Data with the DataList and Repeater”節(jié)點(diǎn)后:?1234567891011121314151

4、6171819202122圖 3: 更新之后的Site Map第二步: 在DropDownList里顯示Categories我們的主/從表將在DropDownList里列出categories ,然后將選擇的item的product用DataList顯示出來(lái).打開(kāi)DataListRepeaterFiltering文件夾里的FilterByDropDownList.aspx頁(yè),拖一個(gè)DropDownList進(jìn)來(lái).將DropDownList的ID設(shè)為Categories.在智能標(biāo)簽上選擇選擇數(shù)據(jù)源,創(chuàng)建一個(gè)名為CategoriesDataSource的ObjectDataSource圖 4: 添加

5、一個(gè)名為CategoriesDataSource的 ObjectDataSource使用CategoriesBLL類(lèi)的GetCategories()方法配置ObjectDataSource.然后為DropDownList的text和value配置字段(分別為CategoryName和CategoryID).圖 5: 配置DropDownList的Text和Value現(xiàn)在DropDownList里已經(jīng)列出了Categories表里記錄.見(jiàn)圖6.圖 6: 完成后的DropDownList第三步: 添加Products DataList下面將選擇的category關(guān)聯(lián)的product列出來(lái).添加一個(gè)

6、DataList,創(chuàng)建一個(gè)名為ProductsByCategoryDataSource的ObjectDataSource.用ProductsBLL類(lèi)的GetProductsByCategoryID(categoryID)來(lái)配置它.因?yàn)槲覀兊膱?bào)表是只讀的,所以在INSERT,UPDATE和DELETE標(biāo)簽里選擇None.圖 7: 選擇GetProductsByCategoryID(categoryID)方法點(diǎn)下一步,向?qū)?huì)提示我們?yōu)閏ategoryID參數(shù)選擇source.將Parameter source設(shè)為Control,ControlID設(shè)為Categories.圖 8: 設(shè)置catego

7、ryID參數(shù)為Categories DropDownList完成上面的配置后,Visual Studio會(huì)為DataList自動(dòng)生成一個(gè)ItemTemplate來(lái)顯示每個(gè)字段的name和value.我們來(lái)做一些改進(jìn),只顯示product的name,category,supplier,quantity和price,并在每個(gè)item之間加一個(gè)元素(SeoaratorTemplate).我們將使用DataList和Repeater來(lái)顯示數(shù)據(jù) 的ItemTemplate例子.ObjectDataSource的標(biāo)記語(yǔ)言應(yīng)該和下面差不多:?123456789101112131415161718192021

8、222324252627282930313233343536373839asp:Label ID=ProductNameLabel runat=serverText= /Category:asp:Label ID=CategoryNameLabel runat=serverText= /Supplier:asp:Label ID=SupplierNameLabel runat=serverText= /Qty/Unit:asp:Label ID=QuantityPerUnitLabel runat=serverText= /Price:asp:Label ID=UnitPriceLabel r

9、unat=serverText= /在瀏覽器里看一下頁(yè)面.第一次訪問(wèn)時(shí),和Beverager關(guān)聯(lián)的product都顯示出來(lái)了(圖9),但是改變DropDownList不會(huì)更新數(shù)據(jù),這是因?yàn)檫€更新DataList需要postback.我們將DropDownList的AutoPostBack屬性設(shè)為true.圖 9: 第一次訪問(wèn)時(shí), 顯示Beverage的 Products圖 10: 選擇一個(gè)新的category(Produce),更新DataList添加一個(gè) “- Choose a Category -” List Item第一次訪問(wèn)頁(yè)面時(shí),Beveages默認(rèn)被選中,并且在DataList里顯

10、示它的product.在使用DropDownList過(guò)濾的主/從報(bào)表 里我們添加了“- Choose a Category -”選項(xiàng)(默認(rèn)項(xiàng)),顯示所有的product.在GridView里顯示product時(shí)這樣很方便.而對(duì)DataList而言,每個(gè)product要占很大一塊屏幕,因此在選擇“- Choose a Category -”時(shí)底下將不顯示product.在DropDownList的屬性里選擇Items屬性,添加一個(gè)Text為“- Choose a Category -”,Value為0的項(xiàng).圖 11: 添加 “- Choose a Category -” 項(xiàng)你也可以直接在Drop

11、DownList的標(biāo)記語(yǔ)言里添加以下代碼:?1234567- Choose a Category -另外我們需要將DropDownList的AppendDataBoundItems設(shè)為true.因?yàn)槿绻麨閒alse(默認(rèn)),當(dāng)categories綁定到DropDownList時(shí)將覆蓋手工添加的list item.圖 12: Set the AppendDataBoundItems Property to True我們將“- Choose a Category -” 的value設(shè)為0是因?yàn)橄到y(tǒng)里沒(méi)有categories的value為0,因此當(dāng)選擇這條category時(shí)不會(huì)有product返回.瀏覽一下網(wǎng)頁(yè)來(lái)確認(rèn)這點(diǎn).見(jiàn)圖13.圖 13: 選中“- Choose a Category -” 時(shí), 沒(méi)有Products 被顯示如果你想在選擇“- Choose a Category -” 時(shí)顯示所有的product,將它的value設(shè)為1.細(xì)心的讀者會(huì)記起來(lái)在使用DropDownList過(guò)濾的主/從報(bào)表 里我們更新了ProductsBLL類(lèi)的GetProductsByCategoryID(categoryID)方法,如果categoryID為1時(shí)所有的product記錄會(huì)被返回.總結(jié)當(dāng)顯示層次關(guān)系的數(shù)據(jù)時(shí),使用主/從表來(lái)展示數(shù)據(jù)很有幫助.用

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論