0
私はそれにExcelファイルをインポートするdatagridviewを持っています。私のExcelの列は、名前、ID、性別、学年、座席番号、恒久的なアドレス、一時的なアドレスと電話番号です。私がしたいのは、単一のテキストボックスを介してdatagridviewで同時に(マルチカラムフィルタ)すべての列をフィルタリングすることです。つまり、テキストボックスに1つの単語を入力すると、同時に列をフィルタリングする必要があります。ここでvb.netのテキストボックスを介してExcelからインポートした後にデータグリッドビューをフィルタリングする
は、私はDataGridViewのにエクセルをインポートするようになったコードです....
Dim cn As New OleDbConnection
Dim cm As New OleDbCommand
Dim da As OleDbDataAdapter
Dim dt As New DataTable
Private Excel03ConString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'"
Private Excel07ConString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'"
Private Sub btnSelect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSelect.Click
OpenFileDialog1.Title = "Open Internship Excel Files"
OpenFileDialog1.ShowDialog()
End Sub
Private Sub OpenFileDialog1_FileOk(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
Dim filePath As String = OpenFileDialog1.FileName
Dim extension As String =
Path.GetExtension(filePath)
Dim header As String = If(rbHeaderYes.Checked, "YES", "NO")
Dim conStr As String, sheetName As String
conStr = String.Empty
Select Case extension
Case ".xls"
'Excel 97-03
conStr = String.Format(Excel03ConString, filePath, header)
Exit Select
Case ".xlsx"
'Excel 07
conStr = String.Format(Excel07ConString, filePath, header)
Exit Select
End Select
'Get the name of the First Sheet.
Using con As New OleDbConnection(conStr)
Using cmd As New OleDbCommand()
cmd.Connection = con
con.Open()
Dim dtExcelSchema As DataTable = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
sheetName = dtExcelSchema.Rows(0)("TABLE_NAME").ToString()
con.Close()
End Using
End Using
'Read Data from the First Sheet.
Using con As New OleDbConnection(conStr)
Using cmd As New OleDbCommand()
Using oda As New OleDbDataAdapter()
Dim dt As New DataTable()
cmd.CommandText = (Convert.ToString("SELECT * From [") & sheetName) + "]"
cmd.Connection = con
con.Open()
oda.SelectCommand = cmd
oda.Fill(dt)
con.Close()
'Populate DataGridView.
DataGridView1.DataSource = dt
End Using
End Using
End Using
End Sub
あなたはこれまで何をしていましたか、正確にどこにいらっしゃいましたか? –
これまでのところ私は上記のコードでdatagridviewにexcelファイルをインポートしただけで、テキストボックス(txtfilter)もあります。私はテキストボックスのテキスト変更イベントをコーディングすることに固執しています。テキストボックスのテキスト変更イベントのコード。 – Addis
あなたはこれを考え、よりよく説明する必要があります。行はフィルタリングされ、列はフィルタリングされません。性別をフィルタリングする基準は、Idの基準とほとんど同じではありません。 – Plutonix