我必须使用textbox过滤datagridview。我用来填充db class的gridview.getdata函数的代码返回数据表。
我没有使用gridview的数据源属性而是使用循环来归档gridview。
我可以使用datasource属性和dataview进行搜索,但我不能直接从datasource属性填充datagridview。
Sub griddesgn()
DataGridView1.Columns.Clear()
DataGridView1.Rows.Clear()
DataGridView1.Columns.Add("crime", "crime")
DataGridView1.Columns.Add("actname", "actname")
DataGridView1.Columns.Add("section", "section")
DataGridView1.Columns.Add("description", "description")
End Sub
Private Sub TEST_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
griddesgn()
Dim DBOBJ As New db
Dim DTT As DataTable = DBOBJ.getdata("SELECT crime,actname,section,description from natureofcomplaint_women")
If DTT.Rows.Count > 0 Then
For i As Integer = 0 To DTT.Rows.Count - 1
DataGridView1.Rows.Add()
DataGridView1.Rows(i).Cells("crime").Value = DTT.Rows(i).Item("crime") & ""
DataGridView1.Rows(i).Cells("actname").Value = DTT.Rows(i).Item("actname") & ""
DataGridView1.Rows(i).Cells("section").Value = DTT.Rows(i).Item("section") & ""
DataGridView1.Rows(i).Cells("description").Value = DTT.Rows(i).Item("description") & ""
Next
End If
End Sub
答案 0 :(得分:0)
在SQL查询中使用WHERE语句
"SELECT crime,actname,section,description from natureofcomplaint_women WHERE crime = " & txtSearch.text
(如果你想搜索犯罪。) 改变你的需求。 只需重复上面使用的数据网格填充,但每次键入/按下搜索按钮时都会有一个更改的SQL查询
答案 1 :(得分:0)
我仍然认为绑定最好......
Sub griddesgn()
DataGridView1.Columns.Clear()
DataGridView1.Rows.Clear()
DataGridView1.Columns.Add("crime", "crime")
DataGridView1.Columns.Add("actname", "actname")
DataGridView1.Columns.Add("section", "section")
DataGridView1.Columns.Add("description", "description")
End Sub
Private Sub TEST_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
griddesgn()
Dim DBOBJ As New db
Dim DTT As DataTable = DBOBJ.getdata("SELECT crime,actname,section,description from natureofcomplaint_women")
Dim source1 as New BindingSource()
source1.DataSource = DTT
source1.Filter = "crime = '" & textboxtCrime.text & "'"
DataGrideView1.DataSource = source1
End Sub
答案 2 :(得分:0)
Sub griddesgn()
DataGridView1.Columns.Clear()
DataGridView1.Rows.Clear()
DataGridView1.Columns.Add("crime", "crime")
DataGridView1.Columns.Add("actname", "actname")
DataGridView1.Columns.Add("section", "section")
DataGridView1.Columns.Add("description", "description")
End Sub
Private Sub TEST_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
griddesgn()
Dim DBOBJ As New db
Dim DTT As DataTable = DBOBJ.getdata("SELECT crime,actname,section,description from natureofcomplaint_women")
If DTT.Rows.Count > 0 Then
For i As Integer = 0 To DTT.Rows.Count - 1
If (DTT.Rows(i).Item("Crime").Contains(txtCrimeFilter.Text) AND & _
(DTT.Rows(i).Item("actname").Contains(txtActnameFilter.Text) AND & _
(DTT.Rows(i).Item("section").Contains(txtSectionFilter.Text) AND & _
(DTT.Rows(i).Item("description").Contains(txtDescriptionFilter.Text)
DataGridView1.Rows.Add()
DataGridView1.Rows(i).Cells("crime").Value = DTT.Rows(i).Item("crime") & ""
DataGridView1.Rows(i).Cells("actname").Value = DTT.Rows(i).Item("actname") & ""
DataGridView1.Rows(i).Cells("section").Value = DTT.Rows(i).Item("section") & ""
DataGridView1.Rows(i).Cells("description").Value = DTT.Rows(i).Item("description") & ""
End If
Next
End If
End Sub