GRAPH数据窗口如何直接显示y轴的数据,默认的好像不显示数据的。

ppyybb 2009-12-25 02:52:02
如题,请高手解答。
...全文
369 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ppyybb 2009-12-28
  • 打赏
  • 举报
回复
谢谢大侠。结贴
pb8 2009-12-28
  • 打赏
  • 举报
回复
新建一个事件,事件ID为pbm_dwmousemove
ppyybb 2009-12-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 pb8 的回复:]
呵呵,难度会比较大,你把单击事件改为鼠标移动事件会好很多的;
pb没有直接提供在上面挂数字的功能,网上有相关实现的,不过是通过自己画的图形,通过text及线条组成的柱形条之类的,效果一般;

[/Quote]

数据窗口中鼠标的移动事件是那个事件号啊?请大侠继续指点,谢谢了。
pb8 2009-12-25
  • 打赏
  • 举报
回复
呵呵,难度会比较大,你把单击事件改为鼠标移动事件会好很多的;
pb没有直接提供在上面挂数字的功能,网上有相关实现的,不过是通过自己画的图形,通过text及线条组成的柱形条之类的,效果一般;
ppyybb 2009-12-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 pb8 的回复:]
一般的办法是在数据窗口里面加一个text,再新增数据窗口的mousemove事件,在事件里面加下面的代码,
当移到指定结点的时候就会显示相应的值了~~
grObjectType ClickedObject
string ls_series,ls_value
string ls_tips
int li_series, li_category

ClickedObject = this.ObjectAtPointer (is_graph, li_series, li_category)
if ii_category = li_category then return
ii_category = li_category
ls_tips = ''
ls_series = this.SeriesName ( is_graph, li_series)
Choose Case ClickedObject
Case TypeGraph!
//ls_tips = 'TypeGraph'
Case TypeTitle!
//ls_tips = 'TypeTitle'
Case TypeData!

ls_value = string(this.GetData(is_graph, li_series, li_category))
if isnumber(ls_value) then
ls_value = String(dec(ls_value),'##,###,###.00')
end if
ls_tips = this.CategoryName(is_graph,li_category) + '    ' + ls_series +'    (' + ls_value + ')'
Case TypeCategory!
//ls_tips = 'TypeCategory'
Case TypeCategoryAxis!
//ls_tips = 'TypeCategoryAxis'
Case TypeCategoryLabel!
//ls_tips = 'TypeCategoryLabel'
Case TypeSeriesAxis!
//ls_tips = 'TypeSeriesAxis'
Case TypeSeriesLabel!
//ls_tips = 'TypeSeriesLabel'
Case TypeValueAxis!
//ls_tips = 'TypeValueAxis'
Case TypeValueLabel!
//ls_tips = 'TypeValueLabel'
Case Else
ls_tips = ''
End Choose

if isnull(ls_tips) then ls_tips=''

再按你的方式显示ls_tips就好了
[/Quote]

那能不能窗口打开时直接就显示出来啊?我现在是需要通过单击事件来显示的,但是客户觉得这样不直观
pb8 2009-12-25
  • 打赏
  • 举报
回复
一般的办法是在数据窗口里面加一个text,再新增数据窗口的mousemove事件,在事件里面加下面的代码,
当移到指定结点的时候就会显示相应的值了~~
grObjectType ClickedObject
string ls_series,ls_value
string ls_tips
int li_series, li_category

ClickedObject = this.ObjectAtPointer (is_graph, li_series, li_category)
if ii_category = li_category then return
ii_category = li_category
ls_tips = ''
ls_series = this.SeriesName ( is_graph, li_series)
Choose Case ClickedObject
Case TypeGraph!
//ls_tips = 'TypeGraph'
Case TypeTitle!
//ls_tips = 'TypeTitle'
Case TypeData!

ls_value = string(this.GetData(is_graph, li_series, li_category))
if isnumber(ls_value) then
ls_value = String(dec(ls_value),'##,###,###.00')
end if
ls_tips = this.CategoryName(is_graph,li_category) + ' ' + ls_series +' (' + ls_value + ')'
Case TypeCategory!
//ls_tips = 'TypeCategory'
Case TypeCategoryAxis!
//ls_tips = 'TypeCategoryAxis'
Case TypeCategoryLabel!
//ls_tips = 'TypeCategoryLabel'
Case TypeSeriesAxis!
//ls_tips = 'TypeSeriesAxis'
Case TypeSeriesLabel!
//ls_tips = 'TypeSeriesLabel'
Case TypeValueAxis!
//ls_tips = 'TypeValueAxis'
Case TypeValueLabel!
//ls_tips = 'TypeValueLabel'
Case Else
ls_tips = ''
End Choose

if isnull(ls_tips) then ls_tips=''

再按你的方式显示ls_tips就好了
yh10231033 2009-12-25
  • 打赏
  • 举报
回复
写事件,比如右键点击或者鼠标在条状上,显示其数字,我只能做到这个,但不知道怎么把数字直接加上去,而且这个方法还是学pb自带的例子的
ppyybb 2009-12-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 pb8 的回复:]
呵呵,图表属性中data标签页的Value对应的就是Y轴的值呀~
[/Quote]
我的意思是具体的数据显示,本来不是用图形表示的吗,能不能在图形上显示具体的数据。
pb8 2009-12-25
  • 打赏
  • 举报
回复
呵呵,图表属性中data标签页的Value对应的就是Y轴的值呀~

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧