2

こんにちは、私は VB プラットフォームを初めて使用します。コードの最後の数行を理解するのを手伝ってくれる人いますか? その表示メンバーと値番号は何をしますか?

.. cmbcustはコンボボックスです...

顧客テーブルには次のフィールドがあります

**Customer_sname** **Customer_code** **Customer_fname**
nokia       1       nokia corp.
samsung     2       samsung corp.
sony        3       sony corp.
Micromax    4       Micromax India corp.

custval を渡すのは、nokia、samsung、sony です

Public Function customfunc(ByVal custval As String) As DataSet
        Try
            Dim strSQL As String = "select * from customer  where  cust_sname  in (" & custval & ")"
            If Conn.State = ConnectionState.Open Then Conn.Close()
            Conn.Open()
            Dim Adap As New SqlDataAdapter(strSQL, Conn)
            Dim Ds As New DataSet
            Adap.Fill(Ds, "customer")
            ReadINICustomers = Ds
        Catch EXP As Exception
            MsgBox("Error Connecting to Server :" & EXP.Message, MsgBoxStyle.Critical)
        End Try
    End Function


   Public Sub Fillcustomer()
        Dim Lstcust() As String
        Dim Lstcust1 As String
        Lstcust1 = ""
        Lstcust1 = custINIval
        Dim Ds As New DataSet
        Ds = objData.ReadINICustomers(Lstcust1)
        cmbcust.DataSource = Ds.Tables("customer")
        cmbcust.DisplayMember = Ds.Tables("customer").Columns.Item("cust_sname").ToString().Trim()
        cmbcust.ValueMember = Ds.Tables("customer").Columns.Item("cust_code").ToString().Trim()
    End Sub

cmbcust.DisplayMember = Ds.Tables("customer").Columns.Item("cust_sname").ToString().Trim() cmbcust.ValueMember = Ds.Tables("customer").Columns.Item("cust_code") .ToString().Trim()

4

1 に答える 1

4

VB.NET などの .NET 言語で作業するときは、MSDNが役に立ちます。これは、言語と .NET Framework のすべての型に関するドキュメントの公式リソースです。この場合、コントロールのいくつかのプロパティについて質問していますComboBox。したがって、最初にすべきことは、MSDN でComboBoxクラスを検索することです。そうすれば、この記事が見つかります。クラスのすべてのメンバーをリストし、それぞれを説明する個別の記事があります。物件一覧を下にスクロールすると、DisplayMember物件や物件の記事へのリンクがありValueMemberます。

これらの記事で説明されているように、ComboBoxコントロールの項目リストには任意の種類のオブジェクトを含めることができます。文字列のリストのような単純なものを に入れると、リストにComboBox何を表示し、現在の値として何を返すかを決定するのは明らかに簡単です。ただし、複雑なカスタム オブジェクトを に配置する場合はComboBox、より困難な提案になります。

デフォルトでToStringは、リスト内の各オブジェクトに対してメソッドが返すものは何でも表示されます。ただし、プロパティを設定することにより、メソッドの代わりにリスト内のオブジェクトDisplayMemberの特定のメンバー ( や など) を使用するように指示できPropertyます。これを行うには、プロパティをオブジェクトのメンバーの文字列名に設定します。次に、リフレクションを使用して、各オブジェクトでその名前のメンバーを検索し、その値を取得します。FunctionToStringDisplayMember

ValueMemberは非常に似ていますが、表示されるものを制御するのではなく、SelectedValueプロパティによって返されるものを制御します。デフォルトでは、SelectedValueプロパティはリストで選択されたオブジェクト全体を返すだけです。ただし、 を設定するValueMemberことにより、オブジェクト全体ではなく、特定の 1 つのメンバーの値のみをオブジェクトから返すように指示できます。

于 2015-04-15T13:25:05.460 に答える