1、外文翻译 英文文献 使用两个DropDownList过滤的主从报表Master/Detail Filtering With Two DropDownListsIntroductionIn the previous tutorial we examined how to display a simple master/details report using a single DropDownList populated with the categories and a GridView showing those products that belong to the selected ca
2、tegory. This report pattern works well when displaying records that have a one-to-many relationship and can easily be extended to work for scenarios that include multiple one-to-many relationships. For example, an order entry system would have tables that correspond to customers, orders, and order l
3、ine items. A given customer may have multiple orders with each order consisting of multiple items. Such data can be presented to the user with two DropDownLists and a GridView. The first DropDownList would have a list item for each customer in the database with the second ones contents being the ord
4、ers placed by the selected customer. A GridView would list the line items from the selected order.While the Northwind database include the canonical customer/order/order details information in its Customers, Orders, and Order Details tables, these tables arent captured in our architecture. Nonethele
5、ss, we can still illustrate using two dependent DropDownLists. The first DropDownList will list the categories and the second the products belonging to the selected category. A DetailsView will then list the details of the selected product.Step 1: Creating and Populating the Categories DropDownListO
6、ur first goal is to add the DropDownList that lists the categories. These steps were examined in detail in the preceding tutorial, but are summarized here for completeness. Open the MasterDetailsDetails.aspx page in the Filtering folder, add a DropDownList to the page, set its ID property to Categor
7、ies, and then click the Configure Data Source link in its smart tag. From the Data Source Configuration Wizard choose to add a new data source.Figure 1: Add a New Data Source for the DropDownList (Click to view full-size image)The new data source should, naturally, be an ObjectDataSource. Name this
8、new ObjectDataSource CategoriesDataSource and have it invoke the CategoriesBLL objects GetCategories() method.Figure 2: Choose to Use the CategoriesBLL Class (Click to view full-size image)Figure 3: Configure the ObjectDataSource to Use the GetCategories() Method (Click to view full-size image)After
9、 configuring the ObjectDataSource we still need to specify which data source field should be displayed in the Categories DropDownList and which one should be configured as the value for the list item. Set the CategoryName field as the display and CategoryID as the value for each list item.Figure 4:
10、Have the DropDownList Display the CategoryName Field and Use CategoryID as the Value (Click to view full-size image)At this point we have a DropDownList control (Categories) thats populated with the records from the Categories table. When the user chooses a new category from the DropDownList well wa
11、nt a postback to occur in order to refresh the product DropDownList that were going to create in Step 2. Therefore, check the Enable AutoPostBack option from the categories DropDownLists smart tag.Figure 5: Enable AutoPostBack for the Categories DropDownList (Click to view full-size image)Step 2: Di
12、splaying the Selected Categorys Products in a Second DropDownListWith the Categories DropDownList completed, our next step is to display a DropDownList of products belonging to the selected category. To accomplish this, add another DropDownList to the page named ProductsByCategory. As with the Categ
13、ories DropDownList, create a new ObjectDataSource for the ProductsByCategory DropDownList named ProductsByCategoryDataSource.Figure 6: Add a New Data Source for the ProductsByCategory DropDownList (Click to view full-size image)Figure 7: Create a New ObjectDataSource Named ProductsByCategoryDataSour
14、ce (Click to view full-size image)Since the ProductsByCategory DropDownList needs to display just those products belonging to the selected category, have the ObjectDataSource invoke the GetProductsByCategoryID(categoryID) method from the ProductsBLL object.Figure 8: Choose to Use the ProductsBLL Cla
15、ss (Click to view full-size image)Figure 9: Configure the ObjectDataSource to Use the GetProductsByCategoryID(categoryID) Method (Click to view full-size image)In the final step of the wizard we need to specify the value of the categoryID parameter. Assign this parameter to the selected item from th
16、e Categories DropDownList.Figure 10: Pull the categoryID Parameter Value from the Categories DropDownList (Click to view full-size image)With the ObjectDataSource configured, all that remains is to specify what data source fields are used for the display and value of the DropDownLists items. Display the ProductName field and use the ProductID field as the value.Figure 11: Specify the Data Source Fields Used for th
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1