如何在页面和用户控件之间传递数据
1个回答
展开全部
问题陈述:如何将页面中的数据传递给页面中的用户控件?
问题变种:如何使得treeview的显示结果与登陆者的身份(角色)一一对应?
问题解释:UserControl_treeview为用户控件,它是一个用于页面导航的树形菜单,它的各级节点的显示内容及URL地址来源于数据库中一个数据表“treeview”;登陆系统的用户有2种角色:role_A、role_B,不同的角色登陆系统后,用于页面导航的treeview菜单各不相同,问题是如何将用户登录信息中的用户角色信息传递给用户控件。
附加说明:如果不能用用户角色参数控制treeview的显示结果,那就只能分别作出与2个角色相对应的treeview,把2个treeview堆放在页面的左侧,然后根据登陆者的身份,决定其中一个treeview的visible属性为true,而另一个treeview的visible属性为false,但是如果这个系统的用户有5种或10种角色,难道要做10个不同的treeview堆放在那里,然后决定哪个treeview的visible为true,而另外4个或9个treeview的visible为false,这可能是世界上最愚蠢的做法了。
问题解决:
为了实现这个目的,有几个方面的事情需要做:
1、在数据库里建立treeview数据表,包括以下字段:节点ID,父结点ID,节点名称,节点URL地址,可以访问节点的角色,字段属性都为varchar。然后为数据表添加数据。例如:
节点ID 父结点ID 节点名称 节点URL地址 可访问节点的角色
1 0 订单管理 O(代表operator)
2 1 新建订单 newOrder.aspx O
3 1 订单修改 modiOrder.aspx O
4 1 订单撤销 cancelOrder.aspx 0
5 0 客户管理 O,M(代表manager)
6 5 新增客户 newCustomer.aspx M
7 5 查找客户 findCustomer.aspx O,M
8 5 群发邮件 sendEmail.aspx O
9 5 删除客户 delCustomer.aspx M
10 0 系统管理 M
11 10 添加用户 newUser.aspx M
12 10 权限管理 userRole.aspx M
13 10 日志管理 diary.aspx M
暂且以上面的数据为例,说明如何根据角色的不同,来生成不同的treeview菜单。
2、根据数据表建立2个静态的treeview
建立一个treeview_1用户控件文件,在页面中放置一个名为“treeview_OP”的treeview控件(关于如何在delphi2005中安装微软的ie控件,将在下一节中介绍),在treeview_1.pas文件中创建2个函数:[1]获得operator有权访问的菜单的数据集;[2]根据[1]的数据集中的数据完成treeview菜单的设置,关键代码如下:
unit treeview_1
interface
uses
system.data,......borland.vcl.sysUtil;
type TuserControl_treeview_1(microsoft.UI.UserControl);
private
function initTreeview ();
function ds_treeview(userrole:string):dataset;
implements
function TuserControl_treeview_1.ds_treeview(userrole:string):dataset;
分享: 分享到微米 分享到新浪Qing
0
喜欢
0
赠金笔赠金笔
阅读(380)┊ 评论 (0)┊ 收藏(0) ┊转载(0) ┊ 喜欢▼ ┊打印┊举报
前一篇:用户自定义控件中数据的调用
后一篇:两个ListBox之间的故事(上)
评论 重要提示:警惕虚假中奖信息 [发评论]
评论加载中,请稍候...
发评论
灌水赞美好顶顶顶开心路过
登录名: 密码: 找回密码 注册 记住登录状态
分享到微博 新 评论并转载此博文新
验证码: 请点击后输入验证码 收听验证码
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。
< 前一篇
用户自定义控件中数据的调用
后一篇 >
两个ListBox之间的故事(上)
新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键
问题变种:如何使得treeview的显示结果与登陆者的身份(角色)一一对应?
问题解释:UserControl_treeview为用户控件,它是一个用于页面导航的树形菜单,它的各级节点的显示内容及URL地址来源于数据库中一个数据表“treeview”;登陆系统的用户有2种角色:role_A、role_B,不同的角色登陆系统后,用于页面导航的treeview菜单各不相同,问题是如何将用户登录信息中的用户角色信息传递给用户控件。
附加说明:如果不能用用户角色参数控制treeview的显示结果,那就只能分别作出与2个角色相对应的treeview,把2个treeview堆放在页面的左侧,然后根据登陆者的身份,决定其中一个treeview的visible属性为true,而另一个treeview的visible属性为false,但是如果这个系统的用户有5种或10种角色,难道要做10个不同的treeview堆放在那里,然后决定哪个treeview的visible为true,而另外4个或9个treeview的visible为false,这可能是世界上最愚蠢的做法了。
问题解决:
为了实现这个目的,有几个方面的事情需要做:
1、在数据库里建立treeview数据表,包括以下字段:节点ID,父结点ID,节点名称,节点URL地址,可以访问节点的角色,字段属性都为varchar。然后为数据表添加数据。例如:
节点ID 父结点ID 节点名称 节点URL地址 可访问节点的角色
1 0 订单管理 O(代表operator)
2 1 新建订单 newOrder.aspx O
3 1 订单修改 modiOrder.aspx O
4 1 订单撤销 cancelOrder.aspx 0
5 0 客户管理 O,M(代表manager)
6 5 新增客户 newCustomer.aspx M
7 5 查找客户 findCustomer.aspx O,M
8 5 群发邮件 sendEmail.aspx O
9 5 删除客户 delCustomer.aspx M
10 0 系统管理 M
11 10 添加用户 newUser.aspx M
12 10 权限管理 userRole.aspx M
13 10 日志管理 diary.aspx M
暂且以上面的数据为例,说明如何根据角色的不同,来生成不同的treeview菜单。
2、根据数据表建立2个静态的treeview
建立一个treeview_1用户控件文件,在页面中放置一个名为“treeview_OP”的treeview控件(关于如何在delphi2005中安装微软的ie控件,将在下一节中介绍),在treeview_1.pas文件中创建2个函数:[1]获得operator有权访问的菜单的数据集;[2]根据[1]的数据集中的数据完成treeview菜单的设置,关键代码如下:
unit treeview_1
interface
uses
system.data,......borland.vcl.sysUtil;
type TuserControl_treeview_1(microsoft.UI.UserControl);
private
function initTreeview ();
function ds_treeview(userrole:string):dataset;
implements
function TuserControl_treeview_1.ds_treeview(userrole:string):dataset;
分享: 分享到微米 分享到新浪Qing
0
喜欢
0
赠金笔赠金笔
阅读(380)┊ 评论 (0)┊ 收藏(0) ┊转载(0) ┊ 喜欢▼ ┊打印┊举报
前一篇:用户自定义控件中数据的调用
后一篇:两个ListBox之间的故事(上)
评论 重要提示:警惕虚假中奖信息 [发评论]
评论加载中,请稍候...
发评论
灌水赞美好顶顶顶开心路过
登录名: 密码: 找回密码 注册 记住登录状态
分享到微博 新 评论并转载此博文新
验证码: 请点击后输入验证码 收听验证码
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。
< 前一篇
用户自定义控件中数据的调用
后一篇 >
两个ListBox之间的故事(上)
新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键
七鑫易维信息技术
2024-09-02 广告
2024-09-02 广告
Play Video 七鑫易维是致力于机器视觉和人工智能领域的高新科技企业,迄今已专注眼球追踪技术的研发、创新与应用超过14年,拥有完全自主知识产权,全球专利总量655余项。 作为眼球追踪技术领域的全球知名品牌,七鑫易维的产品体系覆盖眼动分...
点击进入详情页
本回答由七鑫易维信息技术提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询