资源描述:
《七使用DropDownList过滤的主从报表.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ASP.NET2.0中的数据操作之七:使用DropDownList过滤的主/从报表作者:heker2007字体:[增加 减小]类型:转载时间:2016-05-04 我要评论本文主要介绍在ASP.NET2.0中如何给DropDownList控件绑定数据源,并通过DropDownList所选的不同的值,筛选出不同的数据信息。导言 主/从报表是一种很常见的报表,这类报表中首先会显示一些主记录.然后用户可以深入(追溯)某条主记录来查看该主记录的详情.主/从报表是显示一对多关系的理想选择,比如一个报表显示所有的产品类别,然后根据用户选择的特定类别显示与之关联的产品.
2、另外,主/从表在显示”宽”表(有很多列的表)的详细信息时也很有用.例如主/从报表的主表部分显示数据库中产品表的产品名称和单价,具体到某一个产品时再显示其他的产品字段(类别,供应商,单位数量,等等). 有很多方法可以实现主/从报表.在这篇及接下来的3篇教程中我们将看到各种各样的主/从报表.在本篇中我们会看到如何在DropDownList控件中显示主记录以及在GridView中显示选中数据项的详细信息.具体来说,在本篇中主/从报表将会列出产类别及产品信息.Step1:在DropDownList中显示类别 我们的主/从报表将会在DropDownList中列出类
3、别,根据选择的列表项在页面上的GridView显示相关的产品.我们的第一任务,就是要在DropDownList中显示类别.打开Filtering文件夹中的FilterByDropDownList.aspx,从工具箱中将一个DorpDownList控件拖放在该页上,设置它的ID属性为Categories.然后,单击”DropDownList任务”上的”选择数据源”链接.“选择数据源”向导启动.图1:指定DropDownList控件的数据源添加一个数据源控件并命名为CategoriesDataSource,该控件将会调用CategoriesBLL类的GetCat
4、egories().图2:添加一个数据源控件并命名为CategoriesDataSource图3:选择使用CategoriesBLL类图4:配置数据源控件使用GetCategories()方法 配置完ObjectDataSource后还需要指定要在DropDownList中显示的数据字段,以及作为数据项的值(valueforthelistitem)的数据字段.我们指定CategoryName为要显示的列,指定CategoryID为数据项的值字段图5:指定CategoryName为要显示的列,CategoryID作为数据项的值。 这时,我们就有了一个使用C
5、ategories表中的记录来填充的DropDownList控件.图6显示了在浏览器中所看到的目前为止我们所做的工作.图6:DropDownList列出了当前的类别Step2:添加产品表格在主/从报表的最后一步是列出与选定的类别相关联的产品.要实现该功能,在页面上增加一个GridView控件然后创建一个数据源控件(ObjectDataSource)并命名为productsDataSource.让productsDataSource控件从ProductsBLL类的GetProductsByCategoryID(categoryID)获取数据.图7:选择GetP
6、roductsByCategoryID(categoryID)方法选择该方法之后,数据源控件(ObjectDataSource)向导会提示我们定义该方法的categoryID参数值.要使用categoriesDorpDownList中选择的值,设置参数源为Control,设置ControlID为Categories.图8:categoryID参数设置为CategoriesDropDownList的值花一点时间在浏览器中检查一下我们前面所做的工作.第一次访问页面时,那些属于已选择类别(Beverages)的产品已经显示出来了(如图9),但是当改变DropDow
7、nList时并没有更新产品数据.这是由于必须引发一次回发(postback)GridView才会更新.有两个方法可以实现(两种方法都不需要写任何代码):·设置categories的AutoPostBack属性为True.(你可以选中DropDownList'ssmarttag上的EnableAutoPostBack选项.)这样,只要用户改变了DropDownList的选择项都会引起一次回发.所以,当用户在DropDownList中选择了一个新的类别就会引起一次回发,GridView也会随着新选择的类别更新产品数据.(在本教程中我们使用此方法.)·DropDo
8、wnList后面添加一个按钮控件. 设置他的Text