pb中怎么获取数据窗口的列名
Getcolumn 得到的是当前powerobject的字段的数量。
调用语法: getcolumns ( powerobject apo_data, ref string as_columns[], ref string as_error )
Int li_colcount,i
//取列数
Choose Case TypeOf(apo_data)
Case datawindow!
uo_datawindow_cics ldw
ldw = apo_data
li_colcount = Integer(ldw.Describe("DataWindow.Column.Count"))
Case datawindowchild!
datawindowchild ldwc
ldwc = apo_data
li_colcount = Integer(ldwc.Describe("DataWindow.Column.Count"))
Case datastore!
uo_datastore_cics lds
lds = apo_data
li_colcount = Integer(lds.Describe("DataWindow.Column.Count"))
Case Else
as_error = '调用GetColumns时入参错误:powerobject的类型不正确'
Return -1
End Choose
If Not li_colcount > 0 Then
as_error = '取数据窗口的列数不成功!'
Return -1
End If
//取列名
String columnnames[],ls_colname
For i = 1 To li_colcount
Choose Case TypeOf(apo_data)
Case datawindow!
ls_colname = ldw.Describe("#" + String(i) +".Name")
Case datawindowchild!
ls_colname = ldwc.Describe("#" + String(i) +".Name")
Case datastore!
ls_colname = lds.Describe("#" + String(i) +".Name")
End Choose
If IsNull(ls_colname) Or ls_colname = '?' Or ls_colname = '!' Then
as_error = '调用GetColumns,取数据窗口的列名称不成功:'+String(i)
Return -1
End If
as_columns[i] = Upper(ls_colname)
Next
string str_column//存放列名
string str_column_text//存放列标题名称
//得到数据窗口的总列数
lng_column_count = long(dw_1.Describe("DataWindow.Column.Count"))
//循环依次读取
for i = 1 to lng_column_count
str_column[i] = dw_1.Describe("#"+string(i)+".name")
str_column_text[i] = dw_1.Describe(str_column[i]+ "_t.text")
next