如何获取特定波段,详细信息或标题中的所有对象的数组?
我成功地使用了所有对象:
dw_1.Describe("datawindow.objects")
答案 0 :(得分:1)
您需要获取列出所有可见对象的datawindow.visualobjects
属性,并且要求object_name.band
检查是否需要它。
重用PbniRegex(在下面的代码中提供uo_regex
对象)以简化属性解析的示例:
public function long of_get_band_controls (string as_band_name, ref string as_controls[]);
string ls_empty[]
int i, j
as_controls[] = ls_empty[]
uo_regex lnv_regex
lnv_regex = create uo_regex
lnv_regex.initialize( "([^\t]+)", true, false)
i = lnv_regex.search( describe("Datawindow.visualobjects") )
for j = 1 to i
if describe( lnv_regex.match( j ) + ".band" ) = as_band_name then
as_controls[ upperbound(as_controls[])+1 ] = lnv_regex.match( j )
end if
next
destroy lnv_regex
return upperbound( as_controls[] )
end function
该代码来自数据窗口的herited对象,因此它可以直接访问describe
方法。
答案 1 :(得分:0)
我不知道获得该列表的任何直接方法,但是一旦你拥有完整的对象列表,你就可以检查它们并检查每个人的乐队:
ls_Obj = GetNextObjectFromList(ls_AllObjectsList)
ls_Band = dw_1.Describe(ls_Obj + ".band")
choose case ls_Band
case "detail"
// handle detail band objects
case "header"
// handle header band objects
// etc.
end choose