2

たとえば、特定のバンド、詳細、またはヘッダーのすべてのオブジェクトの配列を取得するにはどうすればよいですか?

以下を使用してすべてのオブジェクトを取得することに成功しました:

dw_1.Describe("datawindow.objects")
4

2 に答える 2

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

そのコードは、データウィンドウ継承オブジェクトから取得されるため、describeメソッドに直接アクセスできます。

于 2011-07-21T09:04:17.140 に答える
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
于 2011-07-21T09:00:38.903 に答える