数据窗口选中数据求和

叔到用时方恨嫂 2011-06-10 04:07:45
如图:
要求实现:图中某一列的数据,选中这一列当中的几行数据(鼠标左键拖动,选中时是黑色的)时,会弹出提示出来,显示出的数据是选中的数据的和。
谁有例子或思路给我参考下。
...全文
230 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyoinge 2011-06-11
  • 打赏
  • 举报
回复
通过 describe("datawindow.selected")可以获得哪些列的哪些行被选中
通过 describe("datawindow.selected.data") 可以获得所有被选中的数据

这两个结合可以做出对选中数据的一系列计算,求和、平均值、最小值、最大值、方差、取中位数、取高频值、取第N大的值、取第N小的值、取方差估计值、取标准偏差、取标准偏差估计值等
WorldMobile 2011-06-10
  • 打赏
  • 举报
回复


效果图

看一下我的资源,已经把源码上传了

http://download.csdn.net/source/3355285
WorldMobile 2011-06-10
  • 打赏
  • 举报
回复
PB数据窗口默认的功能就支持单元格选择

取数据你可以用以下得到选中行的数据
表达式:
dwcontrol.Object.Data {.Primary } {.datasource } .Selected
示例:
由于Primary缓冲区和当前值选项是缺省的,所以下面语句式等价的,都是得到选中行的数据
dw_1.Object.Data.Selected
dw_1.Object.Data.Primary.Selected
dw_1.Object.Data.Current.Selected
dw_1.Object.Data.Primary.Current.Selected
=====================================================================
下面语句得到被选中行的初始值
dw_1.Object.Data.Original.Selected
dw_1.Object.Data.Primary.Original.Selected


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lzp_lrp/archive/2009/08/27/4488475.aspx
  • 打赏
  • 举报
回复
恩,要把颜色改回去。
gui41021 2011-06-10
  • 打赏
  • 举报
回复
上面写的整行色都变了。。

在pbm_dwnmousemove里加上修改指定列指定行颜色:

//根据事件1得到的起始行确定修改改列哪些行的颜色,需要拼下面这个STRING
ls_color = "a.color = '0~t case(getrow() when 1 then rgb(0,250,0) when 2 then rgb(0,250,0)) else 33554432)'"

dw1.modify(ls_color)

放开左键时 再修改回去
gui41021 2011-06-10
  • 打赏
  • 举报
回复
定义实例变量: 
integer li_st,li_end //起始行,结束行

boolean ib_l //记录左键是否按下

在DW上建立3个事件 :

1 pbm_dwnlbuttonclk 在DW上点下左键
li_st = row 记录起始行
ib_l = true

2 pbm_dwnmousemove 在DW上移动鼠标
if ib_l = true then //如果左键点下,记录经过的行
This.SelectRow(row, true)//变色
end if
3 pbm_dwnlbuttonup 放开左键
li_end = row 记录结束行

ib_l = false

messagebox("","选中了" + string(li_st) + "到" + string(li_end))

得到了行范围 for循环取值求和或者用计算列求和 自己完善吧

611

社区成员

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

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