PB 当单击数据窗口中的某一行时,可以得到那一行相应的数据吗?

如题所述

首先确定,代码肯定是要写在数据窗口的单击事件中。即clicked事件中,这样才会单击数据窗口时触发。

得到这一行的相应的数据,需要逐个的获取,先根据要得到的数据定义变量,变量的类型要与数据一致。
比如这一行有emp_id, emp_name, salary, dept_id四个字段,分别对应的类型是:字符型,字符型,带两位小数的数字,字符型。
那么在单击事件中:
if row <= 0 then return //如果点击的时候,没有得到行,返回,不执行。
string ls_empid, ls_empname, ls_deptid
dec ld_salary
ls_empid = this.GetItemString(row, 'emp_id')
ls_empname = this.GetItemString(row, 'emp_name')
ld_salary = this.GetItemDecimal(row, 'salary')
ls_deptid = this.GetItemString(row, 'dept_id')
//其中的this表示当前数据窗口,因为代码写在数据窗口的事件中,所以代词this就可以代表了。
GetItemString是获取字符型字段的值的函数,GetItemDecimal是获取decimal类型数字的函数。
同样也可以这么写ls_empid = this.object.emp_id[row]
温馨提示:内容为网友见解,仅供参考
无其他回答

PB 当单击数据窗口中的某一行时,可以得到那一行相应的数据吗?
首先确定,代码肯定是要写在数据窗口的单击事件中。即clicked事件中,这样才会单击数据窗口时触发。得到这一行的相应的数据,需要逐个的获取,先根据要得到的数据定义变量,变量的类型要与数据一致。比如这一行有emp_id, emp_name, salary, dept_id四个字段,分别对应的类型是:字符型,字符型,带两位...

PB中在数据窗口dw_1点击某一行,dw_2会显示相对应的数据,怎么写
得到行号了那么就能得到dw_1点击的行的数据,那么就可以根据这个对dw_2做检索了。

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=Get...

PB 中如何点击数据窗口中的一项然后显示这项的一行?
在数据窗口的clicked事件中添加以下代码:if row > 0 then setrow(row)SelectRow(0, false)SelectRow(row, TRUE)end if

PB 当单击数据窗口某一行时,当前数据行数据在另一个数据窗口中显示...
另外,如果你的dw_2是freedom,这个更好,可以直接使用dw_1.sharedata(dw_2),写在open里或者dw_1的retrieveend(dw_1执行查询后触发的事件)里,表示两个数据窗口贡献数据。dw_1是看到所有的,用grid类型,就是一页多行,而dw_2是freedom,是一页一行,这样点击dw_1,dw_2同步显示。在dw_1的...

如果数据窗口中有数据,然后获取某一行的某个字段,如果这个字段的值...
在订单datawindow时加入判断条件如:select column1,column2,column3,column4 from table where column1 > :as_i 然後在某行代码中写入下面的代码即可实现过滤!int li_i=3 dw_1.retrieve(li_i)

PB求助:点击数据窗口中一行,将该行的某列数据显示在旁边的单行编辑框里...
实现方法:在数据窗口的rowfocuschanged()中写入:sle_sname.text=GetItemString(currentrow,1)currentrow是rowfocuschanged()的一个入口参数。以后要细心才是。不过关于以上的具体错误在哪里,还请遇到过的指导解决办法的多多指教。

PB中如何编程将光标定位在DataWindow控件的某行某列数据上?
如果你所说的复制是两个数据窗口字段顺序或者个数不同,都是不可以直接使用rowscopy的。因为rowscopy要根据字段顺序逐个的复制到对应的上面。dw_1.rowscopy(1,dw_1.rowcount(),Primary!,dw_2,1,primary)以上语句实现dw_1的数据复制到dw_2中去,从dw_2的第一行开始。另外的方法,就是笨方法了,...

PB在数据窗口中实现某一列的增量查询功能
在PB的数据窗口中怎样实现某一列的增量查询功能 就是说在单行编辑器控件中每输入一个字符 数据窗口能找到这一列值左边部分与单行编辑器中内容相等的行 并加亮显示 要完成上述增量查询功能 实现的关键有两点 一是单行编辑器能实时响应键盘的输入 捕捉每一个按键 获得其中的文本 二是数据窗口的模糊查询...

pb中怎么将数据窗口的某行移动到最后一行(随便一行也行)
")return end if 3、开始移动指定的行(ll_row)到数据窗口最后一行(dw_1.rowcount()+1)ll_ret = dw_1.rowsmove(ll_row,ll_row,Primary!,dw_1,dw_1.rowcount()+1,Primary!)4、判断是否移动成功 if ll_ret = 1 then messagebox("提示","移动成功!")end if 回答还可以的话记得顶。

相似回答