ASP.NET 2.0數據教程之八:使用兩個DropDownList過濾的主/從報表

作者: 立冬  來源: 博客園  發布時間: 2008-10-10 15:39  閱讀: 4901 次  推薦: 0   原文鏈接   [收藏]  
 

系列文章導航:

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數據教程之八:使用兩個DropDownList過濾的主/從報表

ASP.NET 2.0數據教程之九:跨頁面的主/從報表

ASP.NET 2.0數據教程之十:使用 GridView 和DetailView實現的主/從報表

ASP.NET 2.0數據教程之十一:基于數據的自定義格式化

ASP.NET 2.0數據教程之十二:在GridView控件中使用TemplateField

 

導言

在前面的指南中我們研究了如何顯示一個簡單的主/從報表, 該報表使用DropDownList和GridView控件, DropDownList填充類別,GridView顯示選定類別的產品. 這類報表用于顯示具有一對多關系的記錄時非常合適, 同時它也可以很容易的被擴展以顯示多個一對多關系的數據. 比如, 一個訂單系統應該包含表示客戶,訂單和訂單明細的表. 一個客戶也許有多個訂單,每個訂單又包含多條訂單項. 這樣的數據可以使用兩個DropDownList和一個GridView呈現給用戶. 第一個DropDownList應該包含數據庫中所有客戶的列表, 第二個DropDownList的內容是選定客戶的訂單. GridView用于列出所選定訂單的訂單明細項.

Step 1: 創建DropDownList并使用類別數據填充

我們的第一個目標是添加一個能夠列出類別的DropDownList. 這些步驟在前面的指南中已經做詳細的分析, 但為了保持本篇指南的完整性有必要在這里簡單概括一下.

打開Filtering文件夾中的MasterDetailsDetails.aspx, 在頁面上添加一個DropDownList, 設置它的ID為Categories,然后單擊智能標記上的 Configure Data Source鏈接. 在數據源配置向導中選擇新增一個數據源.

圖 1: 為DropDownList增加一個新的數據源

當然, 新的數據源應該是ObjectDataSource. 把新的ObjectDataSource命名為CategoriesDataSource并且讓他調用CategoriesBLL對象的GetCategories()方法

圖 2: 選擇使用CategoriesBLL類

圖3: 配置ObjectDataSource使用GetCategories()方法

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

圖4: 指定DropDownList 顯示CategoryName列并且使用CategoryID列作為數據項的值

這時,我們就有了一個使用Categories表中的記錄來填充的DropDownList控件. 當用戶在DropDownList中選擇一個新的類別時, 我們需要一次回發,這樣可以刷新在第二步中我們要創建的產品DropDownList控件. 所以, categoriesDropDownList的智能標記上選中AutoPostBack選項.

圖 5: 選中Categories DropDownList 的AutoPostBack
0
0
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()