当前位置: 代码迷 >> PB >> tab里面的控件怎么读写数据
  详细解决方案

tab里面的控件怎么读写数据

热度:71   发布时间:2016-04-29 08:56:54.0
tab里面的控件如何读写数据?
今天使用了tab控件,发现把其它控件放到tab里面的页,窗体是不能直接通过控件的名字读写到数据的。
比如说:我放了一个mle_1到tab的第一页。

那么在window中读取mle_1.text就如这样:

tabpage_1 t
t=tab_1.control[1]

messagebox("",t.mle_1.text)

如果我的tab中还有tab,就相当不方便了。觉得PB在这里处理很怪异,不象DELPHI可以直接存取,大家有没有更简单一些的方法来读写这些tab里面的控件呢?

------解决方案--------------------
tab_1.tabpage_1.mle_1.text
------解决方案--------------------
探讨
tab_1.tabpage_1.mle_1.text

------解决方案--------------------
在实例变量中,定义控件型的数组,接收各个tabpage中的相关控件。
------解决方案--------------------
顶楼上,用实例变量是个好办法,如tab中的几个数据窗口:

实例变量:datawindow idw_dw

在tab的selectionchanged事件:

choose case newindex
case 1
idw_dw = tab_1.tabpage_1.dw_1
case 2
idw_dw = tab_1.tabpage_2.dw_2
end choose

idw_dw.retrieve()
...
------解决方案--------------------
习惯就好,你不要想要PB适应你,你要去适应它!
------解决方案--------------------
对于经常需要使用的控件,定义实例变量,如:
datawindow idw_1

idw_1=tab_1.tabpage_1.dw_1

这样就可以直接 idw_1.setitem(row,'file','aa')
------解决方案--------------------

ist_report_message = message.powerObjectParm

this.title = ist_report_message.title

tab_report.tabpage_report.dw_1.setTransObject(sqlca)
tab_report.tabpage_report.dw_1.retrieve(gl_operatorID,ist_report_message.reportType,ist_report_message.datetimeFrom,ist_report_message.datetimeTo)


tab_report.tabpage_item.dw_2.setTransObject(sqlca)
tab_report.tabpage_item.dw_2.retrieve(gl_operatorID,ist_report_message.reportType,ist_report_message.datetimeFrom,ist_report_message.datetimeTo)

//messagebox('',tab_report.tabpage_report.dw_1.getItemString(1,'compute_12'))

long r_areaid
select id into :r_areaid from lt_area where isLocal = 1 and areaName like '%黔西南%';
if r_areaid > 0 then
tab_report.tabpage_vehiclemanagement.dw_vehiclemanagement.dataObject = 'r_t_charge_vehiclemanagementbilllist_qxn'
tab_report.tabpage_extra.dw_extra.dataObject = 'r_t_charge_extrabilllist_qxn'
end if 

------解决方案--------------------
tab_1.tabpage_1.mle_1.text
------解决方案--------------------
因为tab是一个容器,里面的控件是属于tab的,而不是窗口的,所以前面要加限定符访问符啊。pb就是这样来管理的,如果要方便,在写代码的时候可以用pb开发环境提供的功能让pb把控件的全名给你放到代码里。
------解决方案--------------------
用实例变量是个好办法
  相关解决方案