校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 在ASP.NET 2.0中操作數據之三十三:基于DataList和Repeater使用DropDownList過濾的主/從報表

在ASP.NET 2.0中操作數據之三十三:基于DataList和Repeater使用DropDownList過濾的主/從報表

熱門標簽:外呼電話機器人成本 臨沂智能電話機器人加盟 百應電話機器人外呼系統 地圖標注軟件免費下載 蘇州如何辦理400電話 網絡電話外呼系統上海 西寧呼叫中心外呼系統線路商 400電話辦理怎么樣 聯通官網400電話辦理

導言

  在前面的使用DropDownList過濾的主/從報表一章里我們使用GridView創建的主/從表,顯示一些"主"記錄.用戶可以根據主記錄來查看"從"(詳細)的內容.主/從表在呈現一對多關系和含多列的表的信息時是一個好的選擇.在前面我們已經學過如何使用GridView和DetailsView來實現.本章和后面兩章我們將重新復習一下這些概念,但是主要學習使用DataList和Repeater來實現.本章我們將學習使用DropDownList包含主記錄,而在DataList里顯示從記錄.

第一步: 增加主/從教程頁

首先增加本教程會用到的文件夾(DataListRepeaterFiltering)和頁.新建頁的時候記得選擇Site.master.

Default.aspx
FilterByDropDownList.aspx
CategoryListMaster.aspx
ProductsForCategoryDetails.aspx
CategoriesAndProducts.aspx


圖 1: 創建DataListRepeaterFiltering文件夾和頁

然后打開Default.aspx頁,將SectionLevelTutorialListing.ascx用戶控件拖進來.


圖2: 在Default.aspx頁里增加SectionLevelTutorialListing.ascx

我們需要將主/從教程添加到site map里.打開Web.sitemap,將下面的標記添加到“Displaying Data with the DataList and Repeater”節點后:

siteMapNode
 title="Master/Detail Reports with the DataList and Repeater"
 description="Samples of Reports that Use the DataList and Repeater Controls"
 url="~/DataListRepeaterFiltering/Default.aspx">
 
 siteMapNode
 title="Filter by Drop-Down List"
 description="Filter results using a drop-down list."
 url="~/DataListRepeaterFiltering/FilterByDropDownList.aspx" />
 
 siteMapNode
 title="Master/Detail Across Two Pages"
 description="Master records on one page, detail records on another."
 url="~/DataListRepeaterFiltering/CategoryListMaster.aspx" />
 
 siteMapNode
 title="Maser/Detail on One Page"
 description="Master records in the left column, details on the right,
   both on the same page."
 url="~/DataListRepeaterFiltering/CategoriesAndProducts.aspx" />
 
/siteMapNode>


圖 3: 更新之后的Site Map

第二步: 在DropDownList里顯示Categories

  我們的主/從表將在DropDownList里列出categories ,然后將選擇的item的product用DataList顯示出來.打開DataListRepeaterFiltering文件夾里的FilterByDropDownList.aspx頁,拖一個DropDownList進來.將DropDownList的ID設為Categories.在智能標簽上選擇選擇數據源,創建一個名為CategoriesDataSource的ObjectDataSource


圖 4: 添加一個名為CategoriesDataSource的 ObjectDataSource

  使用CategoriesBLL類的GetCategories()方法配置ObjectDataSource.然后為DropDownList的text和value配置字段(分別為CategoryName和CategoryID).


圖 5: 配置DropDownList的Text和Value

現在DropDownList里已經列出了Categories表里記錄.見圖6.


圖 6: 完成后的DropDownList

第三步: 添加Products DataList

  下面將選擇的category關聯的product列出來.添加一個DataList,創建一個名為ProductsByCategoryDataSource的ObjectDataSource.用ProductsBLL類的GetProductsByCategoryID(categoryID)來配置它.因為我們的報表是只讀的,所以在INSERT,UPDATE和DELETE標簽里選擇None.


圖 7: 選擇GetProductsByCategoryID(categoryID)方法

點下一步,向導會提示我們為categoryID參數選擇source.將Parameter source設為Control,ControlID設為Categories.


圖 8: 設置categoryID參數為Categories DropDownList

  完成上面的配置后,Visual Studio會為DataList自動生成一個ItemTemplate來顯示每個字段的name和value.我們來做一些改進,只顯示product的name,category,supplier,quantity和price,并在每個item之間加一個hr>元素(SeoaratorTemplate).我們將使用DataList和Repeater來顯示數據 的ItemTemplate例子.ObjectDataSource的標記語言應該和下面差不多:

asp:DataList ID="DataList1" runat="server" DataKeyField="ProductID"
 DataSourceID="ProductsByCategoryDataSource" EnableViewState="False">
 ItemTemplate>
 h4>
  asp:Label ID="ProductNameLabel" runat="server"
  Text='%# Eval("ProductName") %>' />
 /h4>
 table border="0">
  tr>
  td class="ProductPropertyLabel">Category:/td>
  td>asp:Label ID="CategoryNameLabel" runat="server"
   Text='%# Eval("CategoryName") %>' />/td>
  td class="ProductPropertyLabel">Supplier:/td>
  td>asp:Label ID="SupplierNameLabel" runat="server"
   Text='%# Eval("SupplierName") %>' />/td>
  /tr>
  tr>
  td class="ProductPropertyLabel">Qty/Unit:/td>
  td>asp:Label ID="QuantityPerUnitLabel" runat="server"
   Text='%# Eval("QuantityPerUnit") %>' />/td>
  td class="ProductPropertyLabel">Price:/td>
  td>asp:Label ID="UnitPriceLabel" runat="server"
   Text='%# Eval("UnitPrice", "{0:C}") %>' />/td>
  /tr>
 /table>
 /ItemTemplate>
 SeparatorTemplate>
 hr />
 /SeparatorTemplate>
/asp:DataList>
 
asp:ObjectDataSource ID="ProductsByCategoryDataSource" runat="server"
 OldValuesParameterFormatString="original_{0}"
 SelectMethod="GetProductsByCategoryID" TypeName="ProductsBLL">
 SelectParameters>
 asp:ControlParameter ControlID="Categories" Name="categoryID"
  PropertyName="SelectedValue" Type="Int32" />
 /SelectParameters>
/asp:ObjectDataSource>

  在瀏覽器里看一下頁面.第一次訪問時,和Beverager關聯的product都顯示出來了(圖9),但是改變DropDownList不會更新數據,這是因為還更新DataList需要postback.我們將DropDownList的AutoPostBack屬性設為true.


圖 9: 第一次訪問時, 顯示Beverage的 Products


圖 10: 選擇一個新的category(Produce),更新DataList

  添加一個 “-- Choose a Category --” List Item第一次訪問頁面時,Beveages默認被選中,并且在DataList里顯示它的product.在使用DropDownList過濾的主/從報表 里我們添加了“-- Choose a Category --”選項(默認項),顯示所有的product.在GridView里顯示product時這樣很方便.而對DataList而言,每個product要占很大一塊屏幕,因此在選擇“-- Choose a Category --”時底下將不顯示product.在DropDownList的屬性里選擇Items屬性,添加一個Text為“-- Choose a Category --”,Value為0的項.


圖 11: 添加 “-- Choose a Category --” 項

你也可以直接在DropDownList的標記語言里添加以下代碼:

asp:DropDownList ID="categories" runat="server" AutoPostBack="True"
 DataSourceID="CategoriesDataSource" DataTextField="CategoryName"
 DataValueField="CategoryID" EnableViewState="False">
 
 asp:ListItem Value="0">-- Choose a Category --/asp:ListItem>
 
/asp:DropDownList>
   

  另外我們需要將DropDownList的AppendDataBoundItems設為true.因為如果為false(默認),當categories綁定到DropDownList時將覆蓋手工添加的list item.


圖 12: Set the AppendDataBoundItems Property to True

  我們將“-- Choose a Category --” 的value設為0是因為系統里沒有categories的value為0,因此當選擇這條category時不會有product返回.瀏覽一下網頁來確認這點.見圖13.


圖 13: 選中“-- Choose a Category --” 時, 沒有Products 被顯示

  如果你想在選擇“-- Choose a Category --” 時顯示所有的product,將它的value設為1.細心的讀者會記起來在使用DropDownList過濾的主/從報表 里我們更新了ProductsBLL類的GetProductsByCategoryID(categoryID)方法,如果categoryID為1時所有的product記錄會被返回.

總結

  當顯示層次關系的數據時,使用主/從表來展示數據很有幫助.用戶可以通過它從最高層的數據開始,逐漸進入最細節的數據.在本章我們學習了一個簡單的主/從表來顯示選中的category下的product.我們用DropDownList列出dategory,DataList來顯示product.在下章我們將學習將主/從記錄分開到兩個頁面.在第一個頁里,顯示所有的"主"記錄,并有一個鏈接到"從"信息的link.點這個link用戶會看到顯示細節信息的頁.

  祝編程愉快!

作者簡介

  Scott Mitchell,著有六本ASP/ASP.NET方面的書,是4GuysFromRolla.com的創始人,自1998年以來一直應用 微軟Web技術。Scott是個獨立的技術咨詢顧問,培訓師,作家,最近完成了將由Sams出版社出版的新作,24小時內精通ASP.NET 2.0。他的聯系電郵為mitchell@4guysfromrolla.com,也可以通過他的博客http://ScottOnWriting.NET與他聯系。

您可能感興趣的文章:
  • Repeater中添加按鈕實現點擊按鈕獲取某一行數據的方法
  • 在ASP.NET 2.0中操作數據之二十九:用DataList和Repeater來顯示數據
  • 在ASP.NET 2.0中操作數據之三十:格式化DataList和Repeater的數據
  • 在ASP.NET 2.0中操作數據之三十四:基于DataList和Repeater跨頁面的主/從報表
  • 在ASP.NET 2.0中操作數據之三十五:使用Repeater和DataList單頁面實現主/從報表
  • 在ASP.NET 2.0中操作數據之四十一:DataList和Repeater數據分頁
  • 在ASP.NET 2.0中操作數據之四十二:DataList和Repeater數據排序(一)
  • 在ASP.NET 2.0中操作數據之四十三:DataList和Repeater數據排序(二)
  • 在ASP.NET 2.0中操作數據之四十四:DataList和Repeater數據排序(三)
  • 在ASP.NET 2.0中操作數據之四十五:DataList和Repeater里的自定義Button

標簽:臨夏 平涼 甘肅 清遠 海西 聊城 中衛 慶陽

巨人網絡通訊聲明:本文標題《在ASP.NET 2.0中操作數據之三十三:基于DataList和Repeater使用DropDownList過濾的主/從報表》,本文關鍵詞  在,ASP.NET,2.0,中,操作,數據,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《在ASP.NET 2.0中操作數據之三十三:基于DataList和Repeater使用DropDownList過濾的主/從報表》相關的同類信息!
  • 本頁收集關于在ASP.NET 2.0中操作數據之三十三:基于DataList和Repeater使用DropDownList過濾的主/從報表的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美精品久久99久久在免费线| heyzo一本久久综合| 亚洲男人电影天堂| 国产欧美一区二区精品性色超碰 | 国产成人一级电影| 激情文学综合丁香| 国产乱码精品一区二区三区av| 麻豆91小视频| 韩国欧美国产1区| 日韩精品久久理论片| 性久久久久久久久| 久久精品国产99国产精品| 日韩av一区二区三区四区| 精品一二三四区| 国产成人aaa| 欧美在线三级电影| 欧美一区二区视频网站| 精品国产一区二区三区不卡| 久久久高清一区二区三区| 国产精品福利电影一区二区三区四区| 日韩毛片精品高清免费| 亚洲精品中文字幕在线观看| 午夜视黄欧洲亚洲| 国产一区二区三区四区五区入口| 99视频精品全部免费在线| 欧美日韩中文字幕精品| 精品国产污污免费网站入口| 中文字幕在线不卡一区 | 欧美图片一区二区三区| 欧美一区二区三区免费大片 | 亚洲成人你懂的| 精品综合久久久久久8888| 成人久久18免费网站麻豆| 在线观看日韩精品| 久久久久99精品国产片| 亚洲已满18点击进入久久| 国产乱码精品一区二区三区忘忧草 | 欧美精品亚洲一区二区在线播放| 精品1区2区在线观看| 亚洲精品高清在线| 蜜桃一区二区三区四区| 国产91精品免费| 日韩一区二区电影在线| 亚洲欧美色图小说| 国产精品一区二区在线看| 欧美三区在线观看| 国产精品久久久久久久蜜臀| 日韩影院精彩在线| 色8久久人人97超碰香蕉987| 国产日韩欧美不卡在线| 毛片不卡一区二区| 欧美色视频在线观看| 国产精品久久看| 精品一区二区三区日韩| 69堂亚洲精品首页| 亚洲在线免费播放| 91在线视频播放地址| 久久久久久久免费视频了| 欧美aa在线视频| 欧美日韩不卡一区二区| 亚洲福利一区二区| 欧美在线小视频| 怡红院av一区二区三区| av一区二区三区在线| 国产无人区一区二区三区| 国产一区三区三区| 欧美精品久久99| 香蕉久久一区二区不卡无毒影院| 色综合久久综合网欧美综合网| 国产日本欧洲亚洲| 粉嫩在线一区二区三区视频| 国产肉丝袜一区二区| 国产成人精品亚洲日本在线桃色 | 国产精品无圣光一区二区| 精品一区二区三区不卡| 日韩小视频在线观看专区| 五月婷婷综合在线| 欧美三电影在线| 蜜桃久久av一区| 精品国产乱码久久久久久蜜臀 | 男男gaygay亚洲| 欧美一级专区免费大片| 六月丁香综合在线视频| 日韩美女一区二区三区四区| 久久av老司机精品网站导航| 久久综合色一综合色88| 成人激情免费电影网址| 专区另类欧美日韩| 欧美性受xxxx黑人xyx性爽| 亚洲一二三四在线| 日韩无一区二区| 国产成人啪午夜精品网站男同| 欧美激情一区二区三区| 色94色欧美sute亚洲线路一久| 五月综合激情网| 久久精品亚洲麻豆av一区二区| 波多野结衣在线一区| 亚洲乱码国产乱码精品精98午夜 | 欧美综合欧美视频| 人妖欧美一区二区| 欧美国产日韩亚洲一区| 91免费版在线| 免费观看成人av| 国产精品国产三级国产三级人妇 | 久久久久久久久久电影| 91首页免费视频| 日本女人一区二区三区| 亚洲国产精品成人综合 | 亚洲精品久久久久久国产精华液 | 国产一区二区精品久久91| 亚洲婷婷综合色高清在线| 欧美精品黑人性xxxx| 国产精品77777| 午夜精品久久久| 国产精品污污网站在线观看| 欧美色欧美亚洲另类二区| 国产精品99久久久久久宅男| 亚洲国产综合在线| 中文字幕欧美激情一区| 欧美精品色一区二区三区| av激情亚洲男人天堂| 久久99国产精品麻豆| 一区二区欧美在线观看| 亚洲国产精品黑人久久久| 日韩一区二区免费视频| 在线观看日韩一区| 99久久婷婷国产综合精品| 久久精品99国产国产精| 亚洲图片欧美视频| 亚洲人成网站精品片在线观看| 国产婷婷色一区二区三区四区| 欧美一区二区三区精品| 欧美中文字幕亚洲一区二区va在线 | 91精品国产全国免费观看| 色婷婷国产精品| 成人激情电影免费在线观看| 麻豆精品视频在线观看免费| 婷婷久久综合九色综合绿巨人| 亚洲免费视频成人| 亚洲品质自拍视频网站| 17c精品麻豆一区二区免费| 亚洲国产精品高清| 中文字幕成人av| 国产日韩成人精品| 亚洲国产成人午夜在线一区| 国产网红主播福利一区二区| 久久久一区二区三区| 久久久精品国产免大香伊| 久久午夜免费电影| 久久这里只精品最新地址| 久久蜜桃一区二区| 久久日一线二线三线suv| 日韩免费观看2025年上映的电影| 欧美丰满少妇xxxbbb| 在线播放91灌醉迷j高跟美女 | 国产午夜精品一区二区三区嫩草 | 8v天堂国产在线一区二区| 欧美色网站导航| 欧美老肥妇做.爰bbww| 91精品午夜视频| 精品国免费一区二区三区| 欧美刺激午夜性久久久久久久| 日韩精品自拍偷拍| 欧美成人官网二区| 国产精品九色蝌蚪自拍| 亚洲精品视频在线| 日本不卡不码高清免费观看| 久久精品噜噜噜成人88aⅴ| 国产精品一级黄| 色哟哟亚洲精品| 91精品麻豆日日躁夜夜躁| 日韩精品一区二区三区四区 | 成人99免费视频| 色播五月激情综合网| 欧美精品久久久久久久多人混战| 日韩欧美国产一区二区在线播放| 国产性天天综合网| 亚洲一区欧美一区| 麻豆成人av在线| 色综合久久天天综合网| 在线综合亚洲欧美在线视频| 国产欧美日韩卡一| 午夜影院久久久| 国产成人啪免费观看软件| 欧美伊人久久久久久午夜久久久久| 日韩一区二区三区免费观看| 亚洲国产成人一区二区三区| 亚洲大片免费看| 丰满放荡岳乱妇91ww| 欧美日韩国产高清一区二区 | 亚洲精品在线三区| 玉足女爽爽91| 国产精品一区二区在线播放| 91看片淫黄大片一级在线观看| 欧美一级高清片| 国产精品久久久久影院亚瑟| 蜜乳av一区二区| 欧美性大战久久久久久久| 国产免费成人在线视频| 日韩黄色一级片|