【PB案例学习笔记】-39比例图显示数据

写在前面

这是PB案例学习笔记系列文章的第39篇,该系列文章适合具有一定PB基础的读者。

通过一个个由浅入深的编程实战案例学习,提高编程技巧,以保证小伙伴们能应付公司的各种开发需求。

文章中设计到的源码,小凡都上传到了gitee代码仓库https://gitee.com/xiezhr/pb-project-example.git

gitee代码仓库

需要源代码的小伙伴们可以自行下载查看,后续文章涉及到的案例代码也都会提交到这个仓库【pb-project-example

如果对小伙伴有所帮助,希望能给一个小星星⭐支持一下小凡。

一、小目标

通过本案例,我们将制作一个3D饼状图图表来显示数据。通过图表可以把复杂的信息用一种简洁明了的方式表达出来。
最终效果如下
比例图显示

二、实现思路

PB提供了灵活而且完整的对图形的支持。通过创建图形风格的数据窗口对象,然后将它与窗口上的数据窗口关联,
就可以达到图形显示数据的目的了

三、创建程序基本框架

有了基本思路之后,我们就动起来开始写程序了

① 新建examplework 工作区

② 新建exampleapp应用

③ 新建w_main窗口,并将其Title设置为"员工薪资分布"

由于文章篇幅的原因,以上步骤就不再赘述,如果忘记的小伙伴可以翻一翻该系列第一篇文章复习一下

四、创建数据窗口对象

4.1 创建Grid 风格的数据窗口对象

① 跟上一个案例一样连接数据库scott
② 单击菜单栏上的file->new命令,选择Grid格式数据窗口,接着选择Quick Select 数据源
③ 选择需要的表和字段
选择需要的表和字段
④ 建立窗口对象,并将其保存为d_emp
保存为d_emp

4.2 创建Graph风格数据窗口对象

② 单击菜单栏上的file->new命令,选择Graph格式数据窗口,接着选择SQL Select 数据源

这里我们选择SQL Select 数据源,相比Quick Select 数据源,更加灵活,可以写复杂的SQL语句
选择Graph风格数据窗口
SQL Select数据源
② 添加数据窗口SQL语句

SELECT salary_range, COUNT(*) AS employee_count
FROM (
    SELECT 
        CASE 
            WHEN sal <= 2000 THEN '0 - 2000'
            WHEN sal <= 4000 THEN '2001 - 4000'
            WHEN sal <= 6000 THEN '4001 - 6000'
            WHEN sal <= 8000 THEN '6001 - 8000'
            ELSE '8001 以上'
        END AS salary_range
    FROM emp
)
GROUP BY salary_range

③ 设置Define Graph Data
设置
④ 选择3D Pie即饼状图,并设置标题
选择即饼状图,并设置标题
⑤ 将数据窗口保存为d_emp_char
保存数据窗口

4.3 创建窗口控件


w_main窗口中添加2个Data Window控件和2个CommandButton 控件,控件依次命名为dw_1dw_2cb_1cb_2
dw_1DataObject 选择d_emp dw_2DataObject 选择d_emp_char
cb_1Text 选择查询 cb_2Text 选择退出
创建窗口控件

五、编写代码

① 在w_main窗口的cb_1控件的Clicked事件中添加如下代码

dw_1.settransobject( sqlca)
dw_1.retrieve()
dw_2.settransobject( sqlca)
dw_2.retrieve()

② 在w_main窗口的cb_2控件的Clicked事件中添加如下代码

close(w_main)

③ 在开发界面左边的System Tree窗口中双击exampleapp应用对象,在其open事件中添加如下代码

SQLCA.DBMS = "O90 Oracle9i (9.0.1)"
SQLCA.LogPass = "tiger"
SQLCA.ServerName = "127.0.0.1:1521/orcl"
SQLCA.LogId = "scott"
SQLCA.AutoCommit = False
SQLCA.DBParm = "PBCatalogOwner='scott'"

connect;
open(w_main)

④ 在开发界面左边的System Tree窗口中双击exampleapp应用对象,在其close事件中添加如下代码

disconnect;

六、运行程序检验效果

比例图显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员晓凡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值