Visual Basic.NET - Filtrar Dataset

 
Vista:

Filtrar Dataset

Publicado por Coprava (7 intervenciones) el 16/08/2007 12:43:33
Hola a todos, estoy metido en un lio y necesito vuestra ayuda, antes de nada uso vb2003, asi que me pasa lo siguiente:

Tengo un dataset cargado con un monto de datos en una sola tabla, de estos datos necesito filtrar parte, y para esto uso el metodo defaultview con la propiedad rowfilter para que funcione. Y en principio funciona pq de 630 lineas me quedan 106, pero el problema lo tengo a la hora de usar esas lineas filtradas, porque no encuentro manera de leerlas, ni enviadolas a otro objeto ni na. Esta parte es la que funciona:

dsListaImpagados = obj.ObtenerListaImpagados(cdSucursal)
dsListaImpagados.Tables(0).DefaultView.RowFilter = "OFI001 = '5911'"

y aora, se lo asigne a lo q se lo asigne me copia toda la tabla sin el filtro, sino, directamente m da error.

Esto son algunos ejemplos de lo q e estado intentado:

dtListaImpagados = dsListaImpagados.Tables(0).Clone()
Dim dvListaImpagados As New DataView(dtListaImpagados)
<--------->
drListaImpagados = dsListaImpagados.Tables(0).Select("OFI001='5911'")
For i = 0 To drListaImpagados.Length - 1
dsListaImpagados.Tables(0).ImportRow(drListaImpagados(i))
Next i
<--------->
nombreFuncion=dsListaImpagados
nombreFuncion=dsListaImpagados.tables(0).defaultview
<--------->

*ds-->Dataset, dt-->Datatable, dv-->Dataview, dr-->Datarow

En fin, que necesito filtrar un dataset y que los datos filtrados sean devueltos por la funcion, espero que las explicaciones hayan servido de algo, Un saludo a todos y muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Filtrar Dataset

Publicado por Harold V. (411 intervenciones) el 16/08/2007 15:18:02
'Aqui buscas objConjuntoDatos es el dataset
Try
Dim foundRows() As DataRow
Dim expression As String = "codigo_CAPTURADOR=" & Val(txt_buscar.Text)
Dim sortOrder As String = "codigo_CAPTURADOR DESC"

foundRows = objConjuntoDatos.Tables(0).Select(expression, sortOrder)
Dim EncRow As Int32 = objConjuntoDatos.Tables(0).DefaultView.Find(foundRows(0)("CODIGO_CAPTURADOR"))

If EncRow >= 0 Then
txt_nombre.Text = objConjuntoDatos.Tables(0).Rows(EncRow).Item("NOMBRE").ToString
txt_apellido.Text = objConjuntoDatos.Tables(0).Rows(EncRow).Item("APELLIDO").ToString
txt_cedula.Text = objConjuntoDatos.Tables(0).Rows(EncRow).Item("CEDULA_CAPTURADOR").ToString
txt_codigo.Text = objConjuntoDatos.Tables(0).Rows(EncRow).Item("CODIGO_CAPTURADOR").ToString
txt_ciudad.Text = objConjuntoDatos.Tables(0).Rows(EncRow).Item("CODIGO_CIUDAD").ToString
txt_celular.Text = objConjuntoDatos.Tables(0).Rows(EncRow).Item("TELEFONO_CELULAR").ToString
txt_telefono.Text = objConjuntoDatos.Tables(0).Rows(EncRow).Item("TELEFONO_CASA").ToString
If Not objConjuntoDatos.Tables(0).Rows(EncRow).Item("IMAGEN").ToString = String.Empty Then
PicImagen.Image = LoadImage(CType(objConjuntoDatos.Tables(0).Rows(EncRow).Item("IMAGEN"), Byte()))
End If

iPosicion = EncRow
lblRegistro.Text = "Item: " & iPosicion + 1 & "/" & objConjuntoDatos.Tables(0).Rows.Count
txt_buscar.Text = ""
Me.lblRegistro.Visible = True
Else
MessageBox.Show("No se encontró ninguna capturador con la cedula " & txt_buscar.Text, "Busqueda", MessageBoxButtons.OK, MessageBoxIcon.Information)
txt_buscar.Text = ""
txt_buscar.Focus()
End If

Catch ex As OleDbException
MessageBox.Show(ex.Message)
End Try
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Filtrar Dataset

Publicado por Coprava (7 intervenciones) el 16/08/2007 16:38:30
Gracias Harold, parece que me puede ser de ayuda, pero ya hasta mañana no lo miro, que ia m llega la ora de irmeeee.
Un saludo y gracias de nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar