• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > ASP.NET 2.0中的数据操作之八:使用两个DropDownList过滤的主/从报表

ASP.NET 2.0中的数据操作之八:使用两个DropDownList过滤的主/从报表

作者:heker2007 字体:[增加 减小] 来源:互联网 时间:2017-05-11

heker2007通过本文主要向大家介绍了iis注册asp.net2.0,下载asp.net 2.0,asp net2.0,注册asp.net2.0,安装asp.net 2.0等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

导言

  在前面的指南中我们研究了如何显示一个简单的主/从报表, 该报表使用DropDownList和GridView控件, DropDownList填充类别,GridView显示选定类别的产品. 这类报表用于显示具有一对多关系的记录时非常合适, 同时它也可以很容易的被扩展以显示多个一对多关系的数据. 比如, 一个订单系统应该包含表示客户,订单和订单明细的表. 一个客户也许有多个订单,每个订单又包含多条订单项. 这样的数据可以使用两个DropDownList和一个GridView呈现给用户. 第一个DropDownList应该包含数据库中所有客户的列表, 第二个DropDownList的内容是选定客户的订单. GridView用于列出所选定订单的订单明细项.
Step 1: 创建DropDownList并使用类别数据填充

  我们的第一个目标是添加一个能够列出类别的DropDownList. 这些步骤在前面的指南中已经做详细的分析, 但为了保持本篇指南的完整性有必要在这里简单概括一下.

  打开Filtering文件夹中的MasterDetailsDetails.aspx, 在页面上添加一个DropDownList, 设置它的ID为Categories,然后单击智能标记上的 Configure Data Source链接. 在数据源配置向导中选择新增一个数据源.

http://files.weikejianghu.com/file_images/article/201605/2016050409191815.png

图 1: 为DropDownList增加一个新的数据源

  当然, 新的数据源应该是ObjectDataSource. 把新的ObjectDataSource命名为CategoriesDataSource并且让他调用CategoriesBLL对象的GetCategories()方法

http://files.weikejianghu.com/file_images/article/201605/2016050409192116.png

图 2: 选择使用CategoriesBLL类

http://files.weikejianghu.com/file_images/article/201605/2016050409192117.png

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

  配置完ObjectDataSource后还需要指定要在DropDownList中显示的数据字段,以及作为数据项的值(value for the list item)的数据字段.我们指定CategoryName为要显示的列,指定CategoryID为数据项的值字段

http://files.weikejianghu.com/file_images/article/201605/2016050409192218.png

图4: 指定DropDownList 显示CategoryName列并且使用CategoryID列作为数据项的值

  这时,我们就有了一个使用Categories表中的记录来填充的DropDownList控件. 当用户在DropDownList中选择一个新的类别时, 我们需要一次回发,这样可以刷新在第二步中我们要创建的产品DropDownList控件. 所以, categoriesDropDownList的智能标记上选中AutoPostBack选项.

http://files.weikejianghu.com/file_images/article/201605/2016050409192219.png

图 5: 选中Categories DropDownList 的AutoPostBack

Step 2: 在第二个DropDownList 中显示选中类别的产品

  Categories DropDownList完成后, 下一步就需要一个显示属于选定类别的产品的DropDownList了. 要完成这个功能, 再增加一个DropDownList控件并命名为ProductsByCategory. 与Categories DropDownList一样, 为ProductsByCategory DropDownList创建一个新的ObjectDataSource并命名为ProductsByCategoryDataSource.

http://files.weikejianghu.com/file_images/article/201605/2016050409192220.png

图 6: 为ProductsByCategory DropDownList添加新数据源

http://files.weikejianghu.com/file_images/article/201605/2016050409192221.png

图7: 创建一个新的 ObjectDataSource 并命名为ProductsByCategoryDataSource

  由于ProductsByCategory DropDownList 需要显示属于选定类别的产品, 让ObjectDataSource 调用ProductsBLL对象的GetProductsByCategoryID(categoryID)方法.

http://files.weikejianghu.com/file_images/article/201605/2016050409192222.png

图8: 选择使用ProductsBLL类

http://files.weikejianghu.com/file_images/article/201605/2016050409192323.png

图9: 配置ObjectDataSource 使用GetProductsByCategoryID(categoryID)方法

  在向导的最后一步需要指定categoryID的值. 我们把Categories DropDownList的已选择的数据项项作为该参数值.

http://files.weikejianghu.com/file_images/article/201605/2016050409192324.png

图10: 使用categoryID参数从Categories DropDownList接收值

  ObjectDataSource配置完成后, 剩下的就是指定DropDownList要显示的字段和作为值的字段了. 设置为显示ProductName并把ProductID做为值字段

http://files.weikejianghu.com/file_images/article/201605/2016050409192325.png

图11: 指定 DropDownList数据项的文本和值使用的数据源字段

  ObjectDataSource 和ProductsByCategory DropDownList配置完成后页面上会有两个DropDownList: 第一个列出所有的类别,第二个列出属于选定类别的产品. 当用户在第一个DropDownList上选择了一个新的类别后, 将会发生一次回发(postback),第二个DropDownList将会重新绑定以显示属于新选定类别的产品. 图12 和图13显示了在浏览器中看到的MasterDetailsDetails.aspx页面.

http://files.weikejianghu.com/file_images/article/201605/2016050409192326.png

图12: 第一次访问页面时Beverages 类别是选中的.

http://files.weikejianghu.com/file_images/article/201605/2016050409192327.png

图13: 选择一个不同的类别时显示该类别的产品

http://files.weikejianghu.com/file_images/article/201605/2016050409192328.png

图14: 激活productsByCategory DropDownList的 AutoPostBack属性

Step 3: 使用DetailsView 显示选中产品的详细信息

  最后一个步骤是在DetailsView中显示选中产品的详细信息. 要完成该功能, 添加一个DetailsView到页面上, 设置它的ID属性为ProductDetails, 给它创建一个新的ObjectDataSource. 配置ObjectDataSource使它通过ProductsBLL类的GetProductByProductID(productID)方法填充数据,使用ProductsByCategory DropDownList的已选择项的值作为productID参数的值.

http://files.weikejianghu.com/file_images/article/201605/2016050409192329.png

图15: 选择使用ProductsBLL类

http://files.weikejianghu.com/file_images/article/201605/2016050409192430.png

图16: 配置 ObjectDataSource 使用GetProductByProductID(productID)方法

http://files.weikejianghu.com/file_images/article/201605/2016050409192431.png

图17: 使用ProductsByCategory DropDownList的值作为productID参数的值

  你可以选择在DetailsView显示的任何有效的字段. 我决定不显示ProductID, SupplierID, 和CategoryID字段并且对其余的字段重新排序及格式化.另外, 我去掉了DetailsView的Height和Width属性设置, 允许DetailsView可以扩展到需要的宽度, 这样比把它限制在指定的大小会更好的显示数据.

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ASP.NET 修复 IIS 映射具体实现步骤
  • ASP.NET 2.0中的数据操作之九:跨页面的主/从报表
  • ASP.NET 2.0中的数据操作之八:使用两个DropDownList过滤的主/从报表
  • ASP.NET 2.0中的数据操作之七:使用DropDownList过滤的主/从报表
  • ASP.NET2.0使用Enter Key作为默认提交问题分析(附源码)
  • ASP.NET用户注册实战(第11节)
  • asp.net无法获取iis目录的问题解决方法
  • asp.net2.0中css失效的解决方法
  • asp.net不用设置iis实现url重写 类似伪静态路由
  • Asp.net 2.0 无刷新图片上传 显示缩略图 具体实现

相关文章

  • 2017-05-11ASP.NET简单好用功能齐全图片上传工具类(水印、缩略图、裁剪等)
  • 2017-05-11ASP.Net下载大文件的实现方法
  • 2018-08-20asp.net使用H5新特性实现异步上传的示例
  • 2017-05-11C# Math.Round()函数问题
  • 2017-05-11VS2017做为Unity3D的脚本编辑器需要的最精简组件
  • 2017-05-11使用Visual Studio 2017写静态库
  • 2017-05-11asp.net生成Excel并导出下载五种实现方法
  • 2017-05-11ASP.NET 水晶报表打印功能实现代码
  • 2017-05-11ASP.NET回车提交事件浅析
  • 2017-05-11微信公众平台开发之认证"成为开发者".Net代码解析

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 在ASP.NET中用MSDNURLRewriting实现Url Rewriting
    • asp.NET开发中正则表达式中BUG分析
    • 初识 ASP.NET Membership 用户管理
    • ASP.NET保存PDF、Word和Excel文件到数据库
    • Global.cs中自动获取未处理的异常
    • asp.net如何进行mvc异步查询
    • 解读ASP.NET 5 & MVC6系列教程(17):MVC中的其他新特性
    • ASP.NET MVC自定义错误页面真的简单吗?
    • web.config使用方法指南
    • 解读ASP.NET 5 & MVC6系列教程(13):TagHelper

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有