祝愿大家身体健康!

 站点注册  找回密码
 站点注册

QQ登录

只需一步,快速开始

查看: 10174|回复: 6

[参考资料] PB数据窗口中各项指标的获取方法

[复制链接]

[参考资料] PB数据窗口中各项指标的获取方法

[复制链接]
ehxz

主题

0

回帖

58万

积分

管理员

积分
588531
贡献
在线时间
小时
2011-10-18 15:13:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?站点注册

×

1、得到当前鼠标所指对象所在的带区

  string str_band

  str_band=GetBandAtPointer() //得到当前鼠标所指对象所在的带区

  str_band=left(str_band,(pos(str_band,'~t') - 1))//得到"header"、"detail"等

  if str_band<>'header' then return //单击非头区,退出

2、得到鼠标指向的列对象名

  str_object=GetObjectAtPointer() //得到当前鼠标所指对象名

  str_object=left(str_object,(pos(str_object,'~t') - 1))

  //得到列对象名(默认为列名_t为列标题)

  str_column=left(str_object,(len(str_title) - 2))

  //判断该名称是否为列名字

  if this.describe(str_column+".band")='!' then return //非是列名,即列标题不是按正常规律起名的。

3、得到当前行、列,总行、列 //this 针对数据窗口而言

  li_col = this.GetColumn()

  li_ColCount = long(describe(this,"datawindow.column.count"))

  ll_row = this.GetRow()

  ll_RowCount = this.RowCount()

  //设置当前行、列

  scrolltorow(this,ll_Row)

  setrow(this,ll_Row)

  setcolumn(this,li_col)

  this.SetFocus()

4、得到所有列标题

  ll_colnum = Long(dw_1.object.datawindow.column.count)

  for i = 1 to ll_colnum

   //得到标题头的名字

   ls_colname = dw_1.describe('#' + string(i) + ".name") + "_t"

   ls_value = dw_1.describe(ls_colname + ".text")

  next

5、如何用代码取得数据窗口汇总带计算列的值?  

  String ls_value

  ls_value = dw_1.Describe("Evaluate("'compute_1',1)")

  //如果是数值型,要转换。

6、取得单击的列标题、列名、数据库字段名

  string ls_dwo

  long ll_pos

  string ls_type

  string ls_title

  string ls_column

  string ls_dbname

  if Not KeyDown(KeyControl!) then return

  ls_dwo = dwo.Name

  if trim(ls_dwo) = '' or isnull(ls_dwo) then return

  ls_type = This.describe(ls_dwo + '.type')

  if ls_type = 'column' then

   ls_title = This.describe(ls_dwo + '_t.text')//标题

   ls_column = This.describe(ls_dwo + '.Name') //数据窗口列名

   ls_dbname = This.describe(ls_dwo + '.dbname') //数据库中字段名

   messagebox('信息', '标 题 文 本 :' + ls_title + &

   '~r~n数据窗口列名 :' + ls_column + &

   '~r~n数据库中字段名:' + ls_dbname )

  end if

7、窗口为w_gcde内,放入一个DW_1,如何得到dw_1内的某列值yuonghu_id列的内容

  long lng_column_count

  integer i

  string str_column[] //列名

  string str_column_text[]  //text的名字

  //得到数据窗口的总列数

  lng_column_count = long(dw_1.Describe("DataWindow.Column.Count"))

  //循环依次读取

  for i = 1 to lng_column_count

   str_column = dw_1.Describe("#"+string(i)+".name")

   str_column_text = dw_1.Describe(str_column + "_t.text")

  next

8、定义要打印的页码

  dw_1.Modify("DataWindow.Print.Page.Range='"+sle_1.text+"'")

  dw_1.print()

9、取到当前是第几页

  dw_1.describe("evaluate('page()',"+string(dw_1.getrow())+")")

  //注意返回值是STRING型的

10、每15行统计一次

  在 summary 栏中写 ceiling(Getrow()/15)

11、如何判断当前行是不是当前页中的最后一行

  if dw_1.getrow()=long(dw_1.describe("datawindow.lastrowonpage")) then

  else

  end if

共享共进共赢Sharing And Win-win Results
SYBASEBBS - 免责申明1、欢迎访问“SYBASEBBS.COM”,本文内容及相关资源来源于网络,版权归版权方所有!本站原创内容版权归本站所有,请勿转载!
2、本文内容仅代表作者观点,不代表本站立场,作者自负,本站资源仅供学习研究,请勿非法使用,否则后果自负!请下载后24小时内删除!
3、本文内容,包括但不限于源码、文字、图片等,仅供参考。本站不对其安全性,正确性等作出保证。但本站会尽量审核会员发表的内容。
4、如本帖侵犯到任何版权问题,请立即告知本站 ,本站将及时删除并致以最深的歉意!客服邮箱:admin@sybasebbs.com
lbcast

主题

0

回帖

5691

积分

论坛元老

积分
5691
贡献
在线时间
小时
2011-10-19 10:16:10 | 显示全部楼层
好好学习,天天向上。
共享共进共赢Sharing And Win-win Results
fuxiaoyang13

主题

0

回帖

3136

积分

论坛元老

积分
3136
贡献
在线时间
小时
2011-10-28 12:25:52 | 显示全部楼层
学习学习!!!业精于勤!!!!
共享共进共赢Sharing And Win-win Results
suzy

主题

0

回帖

122

积分

注册会员

积分
122
贡献
在线时间
小时
2012-12-11 06:26:34 | 显示全部楼层
学习学习。。
共享共进共赢Sharing And Win-win Results
838637819

主题

0

回帖

337

积分

高级会员

积分
337
贡献
在线时间
小时
2012-12-29 12:33:26 | 显示全部楼层
学习学习!!!业精于勤!!!!
共享共进共赢Sharing And Win-win Results
usa_ggw

主题

0

回帖

376

积分

注册会员

积分
376
贡献
在线时间
小时
2013-7-8 22:59:24 | 显示全部楼层
学习,好东西
共享共进共赢Sharing And Win-win Results
flyingdancex

主题

0

回帖

1万

积分

论坛元老

积分
10350
贡献
在线时间
小时
2013-9-16 21:22:26 | 显示全部楼层
谢谢宗宗。这个收下啦
共享共进共赢Sharing And Win-win Results
您需要登录后才可以回帖 登录 | 站点注册

本版积分规则

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com

QQ|Archiver|PowerBuilder(PB)BBS社区 ( 鲁ICP备2021027222号-1 )

GMT+8, 2024-11-22 01:46 , Processed in 0.043116 second(s), 10 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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