过滤datagridview列 [英] Filter datagridview columns
问题描述
我使用Visual Studio 2012.我将excel文件的包含放在DataGridView中。我在表单中有2个组合框(CmbBxPorteurSelect和CmbBxTypePASelect)。我想用每个组合框中选择的项过滤DataGridView列(2个组合框的值在不同的列中:CmbBxPorteurSelect的列为Porteur,CmbBxTypePASelect的列为Statut)。 filtring dos无法正常运行。有人可以帮忙吗?在VB中查找我的代码。
感谢您的帮助。
A.KOTE
ali.kote @ orange.sn
我的尝试:
代码我为过滤器DataGridView列写的。
Private Sub Connect2Excel(ByVal chemin As String,ByVal lasource As String)
constr =Provider = Microsoft.ACE.OLEDB.12.0;数据源=& chemin& ;扩展属性='Excel 12.0; HDR =是; IMEX = 1;'
con =新OleDbConnection(constr)
sda =新OleDbDataAdapter(选择*来自[& lasource&$],con)
dt =新数据表
sda.Fill(dt)
DtGrdVwListePAs .DataSource = dt
End Sub
Private Sub CmbBxPorteurSelect_SelectedIndexChanged(sender as Object,e As EventArgs)处理CmbBxPorteurSelect.SelectedIndexChanged
Dim DV As DataView = New DataView(dt)
DV.RowFilter = String.Format([Porteur] LIKE'%{0}%',CmbBxPorteurSelect.Items)
如果CmbBxPorteurSelect.SelectedIndex<> -1然后
DtGrdVwListePAs.DataSource = DV
结束如果
结束次级
Private Sub CmbBxTypePASelect_SelectedIndexChanged(sender As Object,e As EventArgs)处理CmbBxTypePASelect.SelectedIndexChanged
Dim DV As DataView = New DataView(dt)
DV.RowFilter = String。格式([Statut] LIKE'%{0}%',CmbBxTypePASelect.Items)
如果CmbBxPorteurSelect.SelectedIndex<> -1然后
DtGrdVwListePAs.DataSource = DV
结束如果
结束Sub
I use Visual Studio 2012. I put the contain of an excel file in a DataGridView . I have 2 comboboxes in the form (CmbBxPorteurSelect and CmbBxTypePASelect). I want to filter the DataGridView columns with the item selected in each combobox (the values of the 2 combobox are in different column: column "Porteur" for CmbBxPorteurSelect and column "Statut" for CmbBxTypePASelect). The filtring dos not run correctly. Can some one help? Find down my code in VB.
Thank you for help.
A.KOTE
ali.kote@orange.sn
What I have tried:
The code which I wrote for filter DataGridView columns.
Private Sub Connect2Excel(ByVal chemin As String, ByVal lasource As String)
constr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & chemin & ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=1;'"
con = New OleDbConnection(constr)
sda = New OleDbDataAdapter("Select * From [" & lasource & "$]", con)
dt = New DataTable
sda.Fill(dt)
DtGrdVwListePAs.DataSource = dt
End Sub
Private Sub CmbBxPorteurSelect_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CmbBxPorteurSelect.SelectedIndexChanged
Dim DV As DataView = New DataView(dt)
DV.RowFilter = String.Format("[Porteur] LIKE '%{0}%'", CmbBxPorteurSelect.Items)
If CmbBxPorteurSelect.SelectedIndex <> -1 Then
DtGrdVwListePAs.DataSource = DV
End If
End Sub
Private Sub CmbBxTypePASelect_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CmbBxTypePASelect.SelectedIndexChanged
Dim DV As DataView = New DataView(dt)
DV.RowFilter = String.Format("[Statut] LIKE '%{0}%'", CmbBxTypePASelect.Items)
If CmbBxPorteurSelect.SelectedIndex <> -1 Then
DtGrdVwListePAs.DataSource = DV
End If
End Sub
推荐答案
,con)
dt =新数据表
sda.Fill(dt)
DtGrdVwListePAs.DataSource = dt
End Sub
Private Sub CmbBxPorteurSelect_SelectedIndexChanged(sender as Object,e As EventArgs)处理CmbBxPorteurSelect.SelectedIndexChanged
Dim DV As DataView =新DataView(dt)
DV.RowFilter = String.Format([Porteur] LIKE'%{0}%',CmbBxPorteurSelect.Items)
如果CmbBxPorteurSelect .SelectedIndex<> -1然后
DtGrdVwListePAs.DataSource = DV
结束如果
结束子
Private Sub CmbBxTypePASelect_SelectedIndexChanged(sender as Object,e As EventArgs)处理CmbBxTypePASelect.SelectedIndexChanged
Dim DV As DataView = New DataView(dt)
DV.RowFilter = String.Format([Statut] LIKE'%{0}%',CmbBxTypePASelect.Items)
如果CmbBxPorteurSelect.SelectedIndex<> -1然后
DtGrdVwListePAs.DataSource = DV
结束如果
End Sub
", con)
dt = New DataTable
sda.Fill(dt)
DtGrdVwListePAs.DataSource = dt
End Sub
Private Sub CmbBxPorteurSelect_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CmbBxPorteurSelect.SelectedIndexChanged
Dim DV As DataView = New DataView(dt)
DV.RowFilter = String.Format("[Porteur] LIKE '%{0}%'", CmbBxPorteurSelect.Items)
If CmbBxPorteurSelect.SelectedIndex <> -1 Then
DtGrdVwListePAs.DataSource = DV
End If
End Sub
Private Sub CmbBxTypePASelect_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CmbBxTypePASelect.SelectedIndexChanged
Dim DV As DataView = New DataView(dt)
DV.RowFilter = String.Format("[Statut] LIKE '%{0}%'", CmbBxTypePASelect.Items)
If CmbBxPorteurSelect.SelectedIndex <> -1 Then
DtGrdVwListePAs.DataSource = DV
End If
End Sub
这篇关于过滤datagridview列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!