【发布时间】:2013-07-04 17:53:27
【问题描述】:
我想要的主要是隐藏数组而不是请求。所以我有一个组合框和列表框,其中包含由适配器、数据集、数据表和绑定源完成的数据库值。 .因此,当该人更改组合框值时,它将过滤列表。因此,可以说组合框包含 ID,因此列表视图将显示具有该 ID 的那些行。 Onload listview 显示所有属性。那么如果没有 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"
如果我添加了一个参数,它将如何影响组合框,因为它们使用相同的查询。
【问题讨论】:
-
你能粘贴一些代码吗?
-
我唯一的代码是填充部分。实际上我不知道如何进行过滤,如何开始。你想让我发布组合框和列表的填充吗? @CarlosLanderas
-
ID 在这里是唯一的,这意味着它只会在找到时显示一行,或者它不是唯一的,意味着可以显示多行?
-
@Edper 好的,我的英语不是很好,所以如果我用错了措辞,请纠正我。 select 语句与示例不太一样。语句中有inner join和group by。所以查询实际上是一个视图。在这种形式下,用户只能查看而不能做任何事情,因此过滤可能对他们有好处
标签: vb.net listview visual-studio-2012 combobox filtering