过滤datagridview列 [英] Filter datagridview columns

查看:105
本文介绍了过滤datagridview列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆