如何在.NET报表中不写代码就能实现Web应用中的下拉树

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 22:31 点击:

大多数做过客户端程序的编程人员都知道,终端用户在界面上填写数据的时候,对于层次较多的数据,如果有一个下拉的树出来(如下图),会给应用程序增色不少,也会提高终端用户操作的效率。但是,到了web应用开发的时候,程序员发现以前客户端编程工具中直接使用的下拉树控件不见了,怎么办?

如何在.NET报表中不写代码就能实现Web应用中的下拉树?

解决办法有三种1、自己开发一个;2、到网上下载一个免费的控件;3、使用商用开发工具。

我们比较发现,第1种方法费时费力,就像是自己车子的轮胎坏了,不修也不买,而是自己生产一个轮子,实在是浪费精力。第2种方法看似省钱,其实仔细分析不难发现,这样的办法其实更费时费力!原因在于:1)网上下载的控件通常是编程爱好者兴趣之作,质量和性能很难保证,一旦有问题很难解决。2)如果有了需求要修改这个控件,找原创的人来修改,更本不可能,只能自己看懂内部的代码--那样比自己写一个还要费时间呀!3)假如还需要下拉列表(关联过滤、动态过滤)、下拉日历、导入excel、上传图片、上传文件等等控件,也都上网下载,那么应用程序整体都会变的不稳定,不易修改了。

看到这里您不禁要问:如果要买商用开发工具,有没有合适的?有没有非常便宜的?买了以后有没有售后服务(支持、升级和需求修改)?

可以肯定的告诉您,博计报表就是能够解决这些问题的开发工具!博计报表不仅是一个强大的报表工具,也是一个零代码的开发工具!

这里,我们先看看博计报表下拉树的功能再说。是否便宜、售后是否到位,您可以上博计的网站(http://www.bonzerreport.com/)看看,一定满意。^_^。

博计开发版增加一个下拉树十分简单,只要把单元格的编辑风格修改一下,并且添加数据对应关系即可,具体步骤如下:

先在填报表中增加一条数据集 ds3, 配置 -》 数据集 -》 增加 -》 SQL 数据集 -》 指定模式为 PUBLIC -》选择”客户”这个数据表,然后选择”客户 ID 、客户名称、国家、地区、城市”这五个字段,完成数据集的设置,最后自动生成的 SQL 如下图:

如何在.NET报表中不写代码就能实现Web应用中的下拉树?

 

选中需要下拉树的 单元格中, 右键菜单 -》 填报属性 ,弹出数据填报对话框,在编辑风格中设置为下拉树,如下:

如何在.NET报表中不写代码就能实现Web应用中的下拉树?

 

进入下拉树的设置对话框,设置 根节点标题 “为按地区选择”,同时 只能选取叶节点 设置为选中状态,并增加一个 节点层 1 。

如何在.NET报表中不写代码就能实现Web应用中的下拉树?

 

选择 节点层 1 进行编辑,数据集设置为 ds3 ,显示列与数据列分别都设置为”国家”字段。然后再增加 节点层 2 ,并设置数据集为 ds3 ,显示列与数据列都为”地区”字段,然后设置过滤条件为”国家 ==”$1″ “, 从第二层开始,过滤条件中可以用 $1,$2,$3…… 分别表示上一层、上 二层、上三层 …… 节点的数据值。

 

如何在.NET报表中不写代码就能实现Web应用中的下拉树?

 

同理,我们增加叶子结点,设置如下:

 

如何在.NET报表中不写代码就能实现Web应用中的下拉树?

 

设置完下拉属性,在 B2 单元格的显示值表达式属性写 ds3.select1( 公司名称 , 客户 ID==value()) ,发布到 web 上预览,效果如下:

如何在.NET报表中不写代码就能实现Web应用中的下拉树?

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • 浅析.NET下XML数据访问新机制
      • asp.net 面试+笔试题目第1/2页
      • C# 邮件地址是否合法的验证
      • C#高级编程:数据库连接[1]
      • asp.net 设置GridView的选中行的实现代码
      • 经典C++程序1
      • IIS 自动回收导致后台定时器失效的问题解决
      • ASP.NET GridView列表代码示例
      • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1