0

私の場合、DisplayMember が正しく入力され、代わりに ValueMember が文字列 (列名) のみを取得する理由がわかりません。異なるコンボボックス、列名、およびテーブルでも同じです。

            Using comm3 As SqlCommand = New SqlCommand("SELECT PID, RTRIM(Desc) as Desc FROM Conds WHERE Typ = 3", oConn)
                Dim rs As SqlDataReader = comm3.ExecuteReader
                Dim dt As DataTable = New DataTable
                dt.Load(rs)
                cbConditionPayment.ValueMember = "PID"
                cbConditionPayment.DisplayMember = "Desc"
                cbConditionPayment.DataSource = dt
            End Using 'comm3

そのため、DisplayMember は「Condition1、Condition2、Condition3、...」のような値を取得しますが、ValueMember は「1、2、3、18、22、...」ではなく「PID、PID、PID、PID、....」という値を取得します。 ..」

バカなことに違いない…

よろしく、

オーク

4

1 に答える 1

0

の機能を誤解している可能性があると思いますValueMember。これらの「PID」値を実際にどのように取得していますか? あなたはそれらをValueMemberプロパティから取得していますか?もしそうなら、それはあなたが最初に割り当てたものであるため、まさにあなたが期待するものです。

は、がその値ValueMemberを取得する列の名前です。SelectedValueユーザーが「Desc」値で項目を選択すると、SelectedValueプロパティは対応する「PID」値を返します。

于 2014-10-15T22:11:39.710 に答える