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
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.

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.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas