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

主頁 > 知識庫 > ASP.NET 2.0中的數據操作之七:使用DropDownList過濾的主/從報表

ASP.NET 2.0中的數據操作之七:使用DropDownList過濾的主/從報表

熱門標簽:濮陽外呼電銷系統怎么樣 400電話辦理哪家性價比高 地圖標注的公司有哪些 代理接電話機器人如何取消 地圖標注專業團隊 遂寧市地圖標注app 塔城代理外呼系統 天心智能電銷機器人 地圖定位圖標標注

導言

  主/從報表是一種很常見的報表, 這類報表中首先會顯示一些主記錄. 然后用戶可以深入(追溯)某條主記錄來查看該主記錄的詳情. 主/從報表是顯示一對多關系的理想選擇, 比如一個報表顯示所有的產品類別,然后根據用戶選擇的特定類別顯示與之關聯的產品. 另外, 主/從表在顯示”寬”表(有很多列的表)的詳細信息時也很有用.例如主/從報表的主表部分顯示數據庫中產品表的產品名稱和單價, 具體到某一個產品時再顯示其他的產品字段(類別,供應商,單位數量,等等).

  有很多方法可以實現主/從報表. 在這篇及接下來的3篇教程中我們將看到各種各樣的主/從報表. 在本篇中我們會看到如何在DropDownList控件中顯示主記錄以及在GridView中顯示選中數據項的詳細信息. 具體來說, 在本篇中主/從報表將會列出產類別及產品信息.

Step 1: 在DropDownList 中顯示類別

  我們的主/從報表將會在DropDownList中列出類別, 根據選擇的列表項在頁面上的GridView顯示相關的產品. 我們的第一任務, 就是要在DropDownList中顯示類別. 打開Filtering文件夾中的FilterByDropDownList.aspx, 從工具箱中將一個DorpDownList控件拖放在該頁上, 設置它的ID屬性為Categories. 然后, 單擊”DropDownList 任務”上的”選擇數據源”鏈接. “選擇數據源”向導啟動.

圖1:指定DropDownList控件的數據源

添加一個數據源控件并命名為CategoriesDataSource,該控件將會調用CategoriesBLL 類的 GetCategories().

圖2: 添加一個數據源控件并命名為CategoriesDataSource

圖3: 選擇使用CategoriesBLL 類

圖4: 配置數據源控件使用GetCategories() 方法

  配置完ObjectDataSource后還需要指定要在DropDownList中顯示的數據字段,以及作為數據項的值(value for the list item)的數據字段.我們指定CategoryName為要顯示的列, 指定CategoryID為數據項的值字段

圖5: 指定CategoryName為要顯示的列, CategoryID作為數據項的值。

  這時,我們就有了一個使用Categories表中的記錄來填充的DropDownList控件.圖6顯示了在瀏覽器中所看到的目前為止我們所做的工作.

圖6:DropDownList列出了當前的類別

Step 2: 添加產品表格

在主/從報表的最后一步是列出與選定的類別相關聯的產品. 要實現該功能,在頁面上增加一個GridView控件然后創建一個數據源控件(ObjectDataSource)并命名為productsDataSource.讓productsDataSource控件從ProductsBLL類的GetProductsByCategoryID(categoryID)獲取數據.

圖7: 選擇GetProductsByCategoryID(categoryID) 方法

選擇該方法之后,數據源控件(ObjectDataSource)向導會提示我們定義該方法的categoryID參數值. 要使用categories DorpDownList中選擇的值, 設置參數源為Control, 設置ControlID為Categories.

圖8: categoryID 參數設置為Categories DropDownList的值

花一點時間在瀏覽器中檢查一下我們前面所做的工作. 第一次訪問頁面時,那些屬于已選擇類別(Beverages)的產品已經顯示出來了(如圖9), 但是當改變DropDownList時并沒有更新產品數據.這是由于必須引發一次回發(postback)GridView才會更新.有兩個方法可以實現(兩種方法都不需要寫任何代碼):

· 設置 categories 的AutoPostBack 屬性為 True. (你可以選中DropDownList's smart tag 上的Enable AutoPostBack 選項.) 這樣,只要用戶改變了DropDownList的選擇項都會引起一次回發. 所以, 當用戶在DropDownList中選擇了一個新的類別就會引起一次回發,GridView 也會隨著新選擇的類別更新產品數據. (在本教程中我們使用此方法.)

· DropDownList后面添加一個按鈕控件.  設置他的Text 屬性為”刷新”或類似的文本.使用這種方法, 用戶需要選擇一個新的類別然后單擊該按鈕.單擊按鈕將會引起一次回發并更新GridView顯示已選擇類別的產品.圖9和圖10演示了運行后的主/從報表.

圖9: 第一次訪問該頁面時, 顯示Beverage 的產品

圖10: 選擇一個新的產品,自動引起一次回發并更新GridView類別的產品.

比起顯示第一個類別的產品, 我們可以為DropDownList 添加一個默認選擇項,比如 “—選擇類別 --”,這樣也許更友好一些.要給DropDownList增加一個新的數據項, 在屬性窗口中單擊Items 屬性的省略號圖標. 添加一個新的數據項并設置Text 為“—選擇類別--”設置Value 為-1.

圖11:  增加 “—選擇類別--” 數據項

除了上面的方法,你還可以使用下面的標記性語言(markup)為DorpDownList添加一個數據項:

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

另外,我們需要把DropDownList控件的AppendDataBoundItems屬性設置為True,因為數據源控件中的類別數據綁定到DropDownList 時, 將會覆蓋所有的手工增加的列表項,除非你的AppendDataBoundItems屬性設置True.

圖12: 設置AppendDataBoundItems 屬性為True

這樣,第一次訪問該頁面時, ”—選擇類別—“數據項是被選中并且不顯示任何產品.

圖13: 頁面第一次加載時不顯示產品

沒有顯示產品的原因是由于”—選擇類別—“項被選中,該數據項的值是-1, 而數據庫中不存在CategoryID為-1的產品. 如果這正是你想要的那現在就可以打完收工了, 如果你希望在"--選擇類別--"項選中時顯示所有類別的產品,在ProductsBLL類中自定義GetProductsByCategoryID(categoryID)方法,如果categoryID參數值小于0則調用GetProducts()方法:

public Northwind.ProductsDataTable GetProductsByCategoryID(int categoryID)
{
 if (categoryID  0)
  return GetProducts();
 else
  return Adapter.GetProductsByCategoryID(categoryID);
}

在這里使用的技巧與在后面的[聲明式語法]教程中顯示全部供應商的相似,盡管在這個例子中我們使用了-1而不是使用null來指示是否應該獲取全部記錄. 這是因為GetProductsByCategoryID(categoryID)中的categoryID參數需要一個整型值,與之相反,在[聲明式語法]教程中我們傳入了一個字符串參數.

圖14 顯示了當”—選擇類別—“項選中時FilterByDropDownList.aspx頁面的截屏. 此時,所有類型的產品默認全部顯示, 用戶可以通過選擇特定的類別來縮小顯示范圍

圖 14: 默認情況下顯示所有產品

總結

在顯示分層次的關系數據時,經常使用主/從報表,通過它用戶可以先看到最上層的數據,然后再深入到詳細信息. 在本指南中我們分析了構建一個簡單的主/從報表來顯示選定類別的產品. 我們通過使用DropDownList控件列出類別以及GridView顯示選定類別的產品完成了這個主/從報表.

在下一篇教程中,我們將通過使用兩個DropDownList來進一步介紹DropDownList過濾的主/從報表,.

祝編程快樂!

增加”選擇類別”列表項

第一次訪問FilterByDropDownList.aspx 頁時,類別DropDownList中第一個數據項(Beverages)默認是選中的, GridView中顯示的也是beverage

作者簡介

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

您可能感興趣的文章:
  • 在ASP.NET 2.0中操作數據之一:創建一個數據訪問層
  • 在ASP.NET 2.0中操作數據之二:創建一個業務邏輯層
  • 在ASP.NET 2.0中操作數據之三:創建母版頁和站點導航
  • 在ASP.NET 2.0中操作數據之四:使用ObjectDataSource展現數據
  • 在ASP.NET 2.0中操作數據之五:聲明參數
  • 在ASP.NET 2.0中操作數據之六:編程設置ObjectDataSource的參數值
  • ASP.NET 2.0中的數據操作之八:使用兩個DropDownList過濾的主/從報表
  • ASP.NET 2.0中的數據操作之九:跨頁面的主/從報表
  • 在ASP.NET 2.0中操作數據之十:使用 GridView和DetailView實現的主/從報表
  • [翻譯]Scott Mitchell 的ASP.NET 2.0數據教程

標簽:本溪 吉林 宜春 重慶 河南 婁底 麗江 汕頭

巨人網絡通訊聲明:本文標題《ASP.NET 2.0中的數據操作之七:使用DropDownList過濾的主/從報表》,本文關鍵詞  ASP.NET,2.0,中的,數據,操作,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET 2.0中的數據操作之七:使用DropDownList過濾的主/從報表》相關的同類信息!
  • 本頁收集關于ASP.NET 2.0中的數據操作之七:使用DropDownList過濾的主/從報表的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    一区二区成人在线观看| 亚洲免费资源在线播放| 欧美日韩一区二区在线观看视频 | 亚洲动漫第一页| 亚洲精品免费在线观看| 一色桃子久久精品亚洲| 中文字幕一区三区| 中文字幕综合网| 一区二区三区.www| 亚洲成人黄色影院| 久久精品国产在热久久| 国产一区二区三区四区五区入口 | 亚洲一区二区三区四区五区黄| 亚洲三级在线播放| 亚洲va欧美va人人爽| 蜜桃av一区二区| 国产成人免费视频网站高清观看视频| 国产高清不卡一区| 色香蕉久久蜜桃| 欧美群妇大交群的观看方式| 精品日韩99亚洲| 国产精品三级av| 日韩一区欧美二区| 国产白丝网站精品污在线入口| 粉嫩13p一区二区三区| 日本久久电影网| 欧美一区二区三区免费| 中文字幕不卡一区| 亚洲图片有声小说| 国产精品一线二线三线| 91无套直看片红桃| 欧美大片在线观看一区| 专区另类欧美日韩| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产盗摄女厕一区二区三区| 欧美色涩在线第一页| 久久久www成人免费毛片麻豆 | 欧美电影免费观看完整版| 国产精品无圣光一区二区| 日韩精品亚洲专区| 成人免费黄色在线| 日韩欧美国产成人一区二区| 国产色产综合产在线视频| 亚洲国产一区视频| 99视频热这里只有精品免费| 精品三级av在线| 亚洲一区在线观看免费| 成人精品电影在线观看| 在线综合+亚洲+欧美中文字幕| 国产精品盗摄一区二区三区| 久久99精品国产麻豆婷婷| 欧美午夜在线一二页| 国产精品久久久久久亚洲毛片| 久久黄色级2电影| 欧美日韩不卡一区二区| 自拍偷拍国产亚洲| 成人国产一区二区三区精品| 欧美tk—视频vk| 日韩二区三区四区| 欧美私人免费视频| 一区二区三区美女| 91免费小视频| 中文字幕一区三区| 成人黄色免费短视频| 久久久99精品免费观看| 极品少妇一区二区三区精品视频 | 不卡的电视剧免费网站有什么| 精品国产一区二区三区不卡 | 青青草国产精品97视觉盛宴| 在线观看三级视频欧美| 亚洲三级视频在线观看| 99久久99精品久久久久久| 中文字幕在线不卡国产视频| 高清国产一区二区| 国产精品久久久久三级| www.在线成人| 中文字幕亚洲精品在线观看| 99精品视频在线观看| 中文字幕亚洲电影| 一本久道久久综合中文字幕| 综合久久一区二区三区| 99久久免费视频.com| 国产精品国产三级国产有无不卡 | 91国偷自产一区二区开放时间| 日韩一区在线播放| 色激情天天射综合网| 亚洲高清在线精品| 欧美色图在线观看| 日日夜夜精品免费视频| 欧美大片在线观看一区| 国产专区欧美精品| 国产精品久久久久一区| 在线亚洲一区二区| 视频一区在线视频| 国产亚洲精品福利| 91欧美一区二区| 丝袜亚洲另类欧美综合| 久久久久青草大香线综合精品| 国产69精品久久99不卡| 亚洲综合另类小说| 日韩亚洲欧美高清| 国产91精品入口| 亚洲电影一级黄| 精品国产乱码久久久久久闺蜜| 国产成人自拍在线| 亚洲午夜精品一区二区三区他趣| 日韩精品一区二区三区四区视频| 国产成人av一区二区三区在线 | 欧美国产乱子伦 | 免费的成人av| 国产精品日韩成人| 欧美日韩免费不卡视频一区二区三区| 日韩精品欧美精品| 国产精品成人免费精品自在线观看| 欧美日韩在线精品一区二区三区激情| 久久精品国产精品青草| 亚洲免费成人av| 欧美精品一区二区久久久| 色呦呦国产精品| 国产精品一二三在| 亚洲成人三级小说| 中文字幕一区二区三区在线播放 | 亚洲综合av网| 国产免费久久精品| 欧美va天堂va视频va在线| 在线精品视频小说1| 丁香婷婷深情五月亚洲| 麻豆精品国产传媒mv男同| 一区二区三区四区蜜桃| 国产欧美va欧美不卡在线| 4438x亚洲最大成人网| 在线欧美日韩精品| 成人h动漫精品一区二区| 老司机精品视频一区二区三区| 亚洲综合无码一区二区| 国产精品久久三区| 国产亚洲欧美日韩俺去了| 精品理论电影在线| 欧美一二三区在线观看| 欧美日韩亚洲高清一区二区| 99re这里只有精品视频首页| 国产精品 日产精品 欧美精品| 蜜臀精品久久久久久蜜臀| 首页国产丝袜综合| 亚洲成av人片在www色猫咪| 亚洲裸体xxx| 亚洲精品久久久久久国产精华液| 欧美激情在线一区二区三区| 欧美成人一区二区三区在线观看 | 成人福利在线看| 国产精品一区二区免费不卡 | 中文字幕一区在线观看视频| 久久久久久久一区| 国产亚洲一区二区在线观看| 久久九九国产精品| 国产欧美一区二区三区网站| 国产欧美日韩精品一区| 国产精品亲子乱子伦xxxx裸| 国产精品第五页| 一区二区三区毛片| 亚洲二区在线视频| 日韩—二三区免费观看av| 日本网站在线观看一区二区三区 | 久久综合色婷婷| 久久久不卡网国产精品一区| 国产亚洲成年网址在线观看| 亚洲国产高清不卡| 亚洲靠逼com| 日日摸夜夜添夜夜添亚洲女人| 日欧美一区二区| 国产在线精品一区在线观看麻豆| 国产mv日韩mv欧美| 色综合久久久网| 91麻豆精品国产91久久久使用方法| 日韩精品一区二区在线| 日本一区二区三区四区在线视频 | 欧美色图片你懂的| 91精品国产91热久久久做人人| 日韩免费高清电影| 亚洲国产岛国毛片在线| 一区二区三区四区视频精品免费| 香蕉成人伊视频在线观看| 在线免费观看日韩欧美| 日本v片在线高清不卡在线观看| 免费美女久久99| 国产**成人网毛片九色| 色欧美乱欧美15图片| 日韩欧美在线不卡| 亚洲欧洲精品成人久久奇米网| 午夜影院久久久| 91福利国产精品| 日韩免费观看高清完整版| 日韩理论电影院| 精品一区二区精品| 在线影院国内精品| 久久久亚洲精品石原莉奈| 亚洲444eee在线观看| 国产电影精品久久禁18| 欧美伦理电影网| 中文字幕一区在线观看|