度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 4779|回复: 9
打印 上一主题 下一主题

[分享] 图表部件动态设置Y轴(成员)的方法介绍

[复制链接]

198

主题

1313

帖子

3806

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3806
跳转到指定楼层
楼主
发表于 2020-6-5 17:00:13 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
度量快速开发平台中,图表部件是很好展示数据的方式之一。常规的图表部件使用设置很简单,使用参见:图表部件使用及介绍文章
本帖主要是实现以下业务情况的设置。

业务描述:
比如有10个分公司的单位,每个分公司1到12月有不同的经营数据。现在需要的是,登录人根据能够查看到分公司的个数,显示相应的数据。比如张三能看到3个公司1到12月的数据,李四能看到5个公司1-12个月的数据。意思就是下图中红框中的成员,根据不同权限显示不同个数的。


案例实现效果:
假设有一张表,数据是下图这样的效果,公司可以增加很多个,这里只列出来了两个。


1、构建图标部件的业务表。需要注意的是下图红框中,应该把所有的公司都列出来,可以动态的设置一共有多少个分公司。

2、构建显示窗体,拖入图表部件,设置该业务表。

然后在窗体加载事件中书写代码(假设该人能看到两个部门的):

'*******************窗体加载和关闭事件*****************

'--->窗体加载:
'获取登录人能看到的组织机构,可以是ID,可以是名称,这里以名称为例
dim companyStr="重庆公司,北京公司"

'坼分能看到的公司个数
dim companyName=split(companyStr,",")

   '动态设置成员
for i=0 to companyName.Length-1
   图表部件1.AddSeries("月度",companyName.GetValue(i),companyName.GetValue(i),Color.FromArgb(0),"Line","{V} ",5,True)
next

'刷新
图表部件1.RefreshData()

'设置成员小数位数为0
for i=0 to companyName.Length-1
   图表部件1.ValuePrecision(i,0)
next
'*******************窗体加载和关闭事件结束*****************





3、如果用户只能看到一个单位,只需要把下面一句代码替换掉
dim companyStr="北京公司"




上面 dim companyStr 的值,可以根据权限情况查询组合进来。业务表中一定要把所有的公司数据纳入进来才行。



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

198

主题

1313

帖子

3806

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3806
沙发
 楼主| 发表于 2020-6-5 17:01:36 | 只看该作者
上面业务表中的SQL 是server2008版本的,其他自行书写。主要是交大家这个动态设置图表部件成员的方法。
回复 支持 反对

使用道具 举报

198

主题

1313

帖子

3806

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3806
板凳
 楼主| 发表于 2020-6-5 17:02:38 | 只看该作者
另外:图表部件1.AddSeries 这个方法查看,可以预先设置几个成员,图形不同,样式不同的。然后点窗体的“查看代码”就能看到生成的代码。比如要柱状图或者其他图形。
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9723

积分

论坛元老

Rank: 8Rank: 8

积分
9723
地板
发表于 2020-6-7 08:27:34 | 只看该作者
还能这么用??牛叉
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9723

积分

论坛元老

Rank: 8Rank: 8

积分
9723
5#
发表于 2020-6-7 08:32:20 | 只看该作者
没用时都晓不得这些东西,多多学习,多多掌握
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

67

主题

685

帖子

1815

积分

作者

Rank: 7Rank: 7Rank: 7

积分
1815
6#
发表于 2020-6-7 09:28:25 | 只看该作者
这些代码带代码查看器里面能看到
回复 支持 反对

使用道具 举报

198

主题

1313

帖子

3806

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3806
7#
 楼主| 发表于 2020-6-7 14:42:29 | 只看该作者
度量快速开发平台中的功能多得很,大家都要深入研究才行。经常说写文章找不到素材,用心研究,结合业务,素材是多得很的。
回复 支持 反对

使用道具 举报

198

主题

1313

帖子

3806

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3806
8#
 楼主| 发表于 2020-6-10 20:25:28 来自手机 | 只看该作者
功能多。技巧多。都要了解,才能指导二次开发人员
回复 支持 反对

使用道具 举报

0

主题

2

帖子

42

积分

新手上路

Rank: 1

积分
42
9#
发表于 2020-6-27 11:54:17 | 只看该作者
如果将上述业务表中的in(重庆公司,北京公司)换成变量[:companyname],在传入值的时候会将值外面加上单引号造成错误,如果换成[:where],理论上说应该就可以了,但是保存的时候报错,因此换成将整个业务表用变量[:where]代替,然后在窗体加载事件中通过 图表部件1.SetVaribleValue("where",sql) 的形式,将拼接好的sql传入业务表,这样也可以达到拼接动态sql的效果,然后按照上面的方法就可以实现动态图例的效果了。
回复 支持 反对

使用道具 举报

198

主题

1313

帖子

3806

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3806
10#
 楼主| 发表于 2020-7-14 10:55:59 | 只看该作者
楼上这个方法很不错,我们业务表有这个特殊的 where条件变量,就是解决业务表本身复杂而且不太好组合的业务。在界面上组合形成sql的查询语句。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-4-27 15:09 , Processed in 0.217359 second(s), 31 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表