0

ASP.NET アプリで (VB を使用して) 動的に構築されたページを作成する必要があります。このページは、レポートのパラメーター情報を収集します。

名前、ストアド プロシージャ、必要なパラメータなどのレポート情報は、DB テーブルにあります。

テーブルには、選択したレポートの関連するパラメーター値を収集するために作成する必要があるコントロールのタイプとして使用できる「control_type」フィールドがあります。したがって、Report01 を選択すると、Report01 の DB から行が取得され、そのレポート行のパラメーター データから、i_company_id というパラメーターに整数値を収集する必要があることがわかり、この値のフォームを選択するために作成するコントロールが (動的に作成されたパラメーター ページ) には、「DropDownList」と表示されます。

DBから行を取得し、その値を変数に入れると、次のようなことができますか

dim ddl as New VaraibleName

そして、通常どおりリストにデータを入力してから

panel.controls.add(ddl)

重要な点は、作成するコントロールのタイプが変数またはその他の動的に定義された方法であるコントロールを作成できることです。

4

1 に答える 1

0

私は、次のソリューションがあなたが望むものを提供することを理解しています:

Private Function createVariable(inputName As String) As Object
    Dim outVariable As Object = New Object

    If (inputName = "DropDownList") Then
        Dim targetVariable As DropDownList = New DropDownList()
        With targetVariable
            'You might change here its properties (passed via Object array for example)
        End With

        outVariable = targetVariable
    End If
    'Add as many conditions as variables you are expecting

    Return outVariable
End Function

次のようにして呼び出します。

Dim ddl As Object = createVariable("VariableName")
panel.Controls.Add(ddl)

このコードを だけで使用する場合は、(どちらの方法でも機能します) にControls置き換えることができます。ObjectControl

于 2013-08-28T16:06:39.643 に答える