Filtra Datagridview sin base de datos

Junto con saludar

Adjunto el código que tengo en vb.net lo cual consulta un excel, luego devuelve los datos a un datagridview

Funciona al 100

Lo que necesito es filtrar esos datos mediante dos radiobuttons y un texbox, sin consultar otra vez la conexión a excel, o si es mejor consultar el código con los filtros ¿?

Mi código :

Imports System. Data. OleDb

Public Class Form1

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim stRuta As String = ""
Dim openFD As New OpenFileDialog()
With openFD
.Title = "Seleccionar archivos"
.Filter = "Archivos Excel(*.xls;*.xlsx)|*.xls;*xlsx|Todos los archivos(*.*)|*.*"
.Multiselect = False
.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.Desktop
If .ShowDialog = Windows.Forms.DialogResult.OK Then
stRuta = .FileName
End If
End With
Try
Dim stConexion As String = ("Provider=Microsoft.ACE.OLEDB.12.0;" & ("Data Source=" & (stRuta & ";Extended Properties=""Excel 12.0;Xml;HDR=YES;IMEX=2"";")))

Dim cnConex As New OleDbConnection(stConexion)
Dim Cmd As New OleDbCommand("Select * From [FACTURAS DBS Y MU$]")
Dim Ds As New DataSet
Dim Da As New OleDbDataAdapter
Dim Dt As New DataTable
cnConex.Open()
Cmd.Connection = cnConex
Da.SelectCommand = Cmd
Da.Fill(Ds)
Dt = Ds.Tables(0)
Me.DataGridView1.Columns.Clear()
Me.DataGridView1.DataSource = Dt
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try

End Sub

Favor su ayuda

2 Respuestas

Respuesta

Te puede valer la respuesta que te ha dado tor cheer siempre que necesites mostrar primero lo recuperado de Excel y luego filtrar.

Si no es necesario mostrar en el datagrid todo el excel recuperado, tendrías que en lugar de utilizar el datasource del datagrid y meterle el dataset, deberías de recorrer el dataset y rellenar el datagrid fila a fila dependiendo de los filtros.

Respuesta
1

Lo que puede hacer es agregar un segundo DataGridView y ahí poner los resultados. En algunas consultas que tengo en un proyecto, de esa manera me funciona perfecto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas