当前位置: 代码迷 >> PB >> pb怎么获取某一行某一列的值
  详细解决方案

pb怎么获取某一行某一列的值

热度:229   发布时间:2016-04-29 05:18:44.0
pb如何获取某一行某一列的值
在右键单击事件里,可以获得dwo和row,但是怎样获取对应的该行该列的值呢?

我用
a_data = dataobject.listname[i]

当列名是具体的列名的时候可以获得相应的值;但是用变量的时候报错

例如这样:a_data  = dataobject.ls_listname[i]

如果是用getitem,我不知道怎么判断该列的类型;

PB好像没有类似a_data  = dw[i,j]  的写法?
------解决思路----------------------
PB好像没有类似a_data  = dw[i,j]  的写法?
有,你可以用 dw_1.object.data[row, col]来取,知道行号,你也可以这么写

dw_1.getitemstring(ll_row, "列名")
------解决思路----------------------
Long    ll_Col,ll_Row
Long    ll_ColCount,ll_Value
String  ls_ColName,ls_ColType,ls_Value
DateTime ldt_Value

ll_ColCount = Long(dw_1.Describe("datawindow.column.count"))
For ll_Col = 1 To ll_ColCount
ls_ColName = dw_1.Describe("#"+String(ll_Col)+".name")
ls_ColType = dw_1.Describe("#"+String(ll_Col)+".coltype")
ls_ColType = Upper(ls_ColType)
If Pos(ls_ColType,'CHAR') > 0 Then
ls_Value = dw_1.GetItemString(ll_Row,ls_ColName)
ElseIf ls_ColType = 'DATETIME' Then
ldt_Value = dw_1.GetItemDateTime(ll_Row,ls_ColName)
ElseIf ls_ColType = 'LONG' Then
ll_Value = dw_1.GetItemNumber(ll_Row,ls_ColName)
Else //等等...
End If
Next
  相关解决方案