Cual es la Mejor Forma de Filtrar

28/10/2005 - 17:01 por Miko_tnt | Informe spam
Hola a todos... hoy escribo porque quiero saber opiniones acerca de la mejor
foma que hay para filtrar una tabla por un codigo o dos...

Conozco hasta el momento 3 ... pero si hay alguna ke sea mejor que cuakiera
de estas les agradeceria que me la comentaran.
Para todas comienzo con una tabla con todos los datos sin filtro(tabla)


1) creo una vista y a la vista le hago un rowfilter:
dim vista as dataview = tabla.defaultview
dim str as string = "nombreColumna" & " like '" & strValor & "'"
vistaTabla.RowFilter = strValor

esto creo que no c puede hacer directamente sobre la tabla, pero si se lo
voy asignar a un grid y en este cambiar los datos no c si lo permita.

2)recorro la tabla original e importo las filas que necesito a una nueva
tabla auxiliar:
dim tablaAux as datatable=tabla.clone()
dim i as integer
dim fila as datarow

for i=0 to tabla.rows.count-1
fila = tabla.rows(i)
If Trim(fila("NombreColumna")) = "miFiltro" Then
tablaAux.ImportRow(fila)
End If
next

esta creo ke es la mas lenta

3)Uso el metodo select de la tabla y luego recorro este resultado y se lo
voy añadiendo a una nueva tabla:
dim filas as datarow()
dim tablaAux as datatable
dim i as integer

filas=tabla.Select("Columna='" & strFiltro & "'")
for i=0 to i=filas.length
tablaAux.importRow(filas(i))
next

Agradeceria ke me diera su opinion o si conocen una mejor maneja ... muchas
gracias
 

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
28/10/2005 - 19:35 | Informe spam
La mejor manera es con un DataView ya que no repites datos y trabajas
siempre sobre la tabla original. Lo que el hace el DataView es simplemente
crear un indice para el DataTable asociado y cualquier cosa que hagas sobre
la vista se hace sobre la tabla. En cuanto a ponerlo en un grid no hay
problema. En realidad el grid siempre se enlaza a una vista y no a una tabla
(cuando enlazas a una tabla lo que hace el grid es usar la vista por
defecto, o sea la propiedad DefaultView).

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C

Preguntas similares