0

私は 2 を持っていcomboboxます。両方のcomboBox値は からのものdatasetです。

cb1数値リストeg : 10, 20, 30
cb2を含む数値リストを含むeg : 10.2, 11.3, 20.5, 24.8, 34.5

Cb2cb1 の選択時にリストをフィルタリングする必要があります

例: 10 -> 10.2,11.3 20 -> 20.5, 24.8 30 -> 34.5

vb.net を使用してこれらをコーディングするにはどうすればよいですか? テーブルとビジュアルスタジオ2005 vb.netのすべてのデータストアにmssqlを使用しています

cb1 = BilletSize
cb2 = BilletUnitWt

編集

これまでに試したコード

Private Sub cbBilletSize_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbBilletSize.SelectedIndexChanged 
    Dim SqlStr As String SqlStr = "SELECT tbBilletUnitWt.BilletUnitWtCode FROM tbBilletUnitWt WHERE tbBilletUnitWt.BilletSizeCode = " & Me.cbBilletSize.SelectedValue & ";" 
    Me.cbUnitWt.SelectedValue.RowSource = SqlStr Me.cbUnitWt.SelectedValue.Requery()
End Sub
4

1 に答える 1

0

データセットの代わりにリストを使って簡単に試してみました。これを適応させて機能させることができるかどうかわかりますか?

ほとんどの場合、リスト操作を同等のデータセット操作に置き換えるだけでよいと思います...

Public Class Form1

    Dim combobox1Items As List(Of Integer) = New List(Of Integer)
    Dim combobox2Items As List(Of Double) = New List(Of Double)

    Public Sub New()

        ' This call is required by the designer.
        InitializeComponent()

        Me.combobox1Items.Add(10)
        Me.combobox1Items.Add(20)
        Me.combobox1Items.Add(30)

        Me.combobox2Items.Add(10.2)
        Me.combobox2Items.Add(11.3)
        Me.combobox2Items.Add(20.5)
        Me.combobox2Items.Add(24.8)
        Me.combobox2Items.Add(34.5)

        With Me.ComboBox1
            .DataSource = Me.combobox1Items
        End With

    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged

        Dim bindingList As New List(Of Double)

        For Each item As Double In Me.combobox2Items
            If item > CInt(Me.ComboBox1.Items(Me.ComboBox1.SelectedIndex)) Then
                Call bindingList.Add(item)
            End If
        Next

        With Me.ComboBox2
            .DataSource = bindingList
        End With

    End Sub

End Class
于 2013-02-27T03:12:55.173 に答える