1

私が望むのは、ほとんどの場合、再クエリではなく配列を非表示にすることです。だから私は、アダプタ、データセット、データテーブル、およびバインディングソースによって行われたデータベースからの値を持つコンボボックスとリストボックスを持っています。. SO人がコンボボックスの値を変更すると、リストがフィルタリングされます.コンボボックスにIDが含まれているとしましょう。リストビューにはそのIDを持つ行が表示されます. リストビューをオンロードすると、すべてのプロパティが表示されます。では、Requery なしでこれを行うにはどうすればよいでしょうか???? 以下に、入力リストとコンボボックスの部分があります。

ここにリンクがありますが、あまり 役に立ちませんVB.NET Listview Multiple Column Filter

   Dim listcount As Integer = listview1.Columns.Count

    With listview1
        .Columns.Clear()
        .View = View.Details


        .GridLines = True


        .Columns.Add("Name").Width = 70
        .Columns.Add("ID").Width = 60
        .Columns.Add("Number").Width = 90


    End With


    Try


        strQuery = "Select * From Table"



        DB.Connection = New SqlConnection(strConnection)

        DB.Connection.Open()
        ' add a daaset
       Adapter = New SqlDataAdapter(strQuery, DB.Connection)
        ListRS = New DataSet



        Adapter.Fill(ListRS)

        Dim table As DataTable = ListRS.Tables(0)


        bnsrc = New BindingSource
        bnsrc.DataSource = ListRS.Tables(0)
        combobox1.DataSource = bnsrc
         combobox1.DisplayMember = "ID"
        combobox1.ValueMember = "ID"
        combobox1.AutoCompleteSource = AutoCompleteSource.ListItems

       Listview1.Items.Clear()



        DB.Connection.Close()

したがって、再クエリを実行する場合は、SQL ステートメントを変更する必要があります。

      strQuery =  "Select * from Table Where ID=@id"

パラメータを追加した場合、同じクエリを使用しているため、コンボボックスにどのような影響がありますか。

4

1 に答える 1