0

dropdown内に作成されたタイプの列がありますUltragrid。ここで、列に静的な値を追加する必要があります。

//コード

    UltraGridColumn = workflowGrid.Rows.Band.Columns("ShowTransactionId")
    UltraGridColumn.Header.Caption = "Show TransactionId"
    UltraGridColumn.Hidden = False
    UltraGridColumn.Style = UltraWinGrid.ColumnStyle.DropDownList
    UltraGridColumn.ValueList = 'Code here

ここでは、列内に Yes/No を追加する必要があります。どうやってやるの?

4

1 に答える 1

2

それは私の共通の要件です。この種の値リストをオンザフライで構築する内部ユーティリティ メソッドがあります。ここでtrueは、YES 文字列にはブール値を使用し、 falseNO 文字列にはブール値を使用していますが、もちろん、データソース列の実際の値に応じてこれらの値を変更する必要があります。

    Public Shared Function YesNoValueList() As Infragistics.Win.ValueList
        Dim vlYN = new Infragistics.Win.ValueList()
        vlYN.ValueListItems.Add(false, "NO")
        vlYN.ValueListItems.Add(true, "YES")
        vlYN.Key = "_YES_NO_"
        return vlYN
    End Sub

    ....

    UltraGridColumn.ValueList = InfragisticsHelper.YesNoValueList()

編集明らかに、この ValueList はプログラムのパフォーマンスにほとんど影響を与えないため、必要なときにこのメソッドを呼び出すことができますが、本当に必要な場合は、このように InfragisticsHelper クラスにグローバルな静的変数を含めることができます

   Private Shared Infragistics.Win.ValueList _yes_no_list

次に、上記のコードを変更します

    Public Shared Function YesNoValueList() As Infragistics.Win.ValueList
        if _yes_no_list Is Nothing Then
            Dim vlYN = new Infragistics.Win.ValueList()
            vlYN.ValueListItems.Add(false, "NO")
            vlYN.ValueListItems.Add(true, "YES")
            vlYN.Key = "_YES_NO_"
            _yes_no_list = vlYN
        End If
        return _yes_no_list
    End Sub

このようにして、最初の使用時に ValueList を作成すると、常に同じインスタンスが返されます

于 2013-06-07T10:11:44.693 に答える