ehxz 发表于 2011-10-18 15:13:39

PB数据窗口中各项指标的获取方法

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")  next5、如何用代码取得数据窗口汇总带计算列的值?    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 if7、窗口为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")  next8、定义要打印的页码  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

lbcast 发表于 2011-10-19 10:16:10

好好学习,天天向上。

fuxiaoyang13 发表于 2011-10-28 12:25:52

学习学习!!!业精于勤!!!!

suzy 发表于 2012-12-11 06:26:34

学习学习。。

838637819 发表于 2012-12-29 12:33:26

学习学习!!!业精于勤!!!!

usa_ggw 发表于 2013-7-8 22:59:24

学习,好东西

flyingdancex 发表于 2013-9-16 21:22:26

谢谢宗宗。这个收下啦
页: [1]
查看完整版本: PB数据窗口中各项指标的获取方法

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

Mail To:Admin@SybaseBbs.com