Retroceder   Foros del Web > Programación para sitios web > .NET

Respuesta
 
Herramientas Desplegado
Antiguo 21-may-2005, 12:12   #1 (permalink)
grisel ha deshabilitado el karma
 
Avatar de grisel
 
Fecha de Ingreso: diciembre-2004
Ubicación: Mexico
Mensajes: 215
DataGrid

Hola.

Quiza ya hayan visto este tema antes , ok ya lo busque en el foro y no encontre lo q buscaba, pero me han dado varias ideas, mi problema es que apenas voy entendiendo esto del .net pero ok les cuento trabajo en visual basic con windows forms.

En un form tengo un datagrid que me carga los clientes y sus caracteristicas existe algun commando para poder yo hacer un buscador, donde ingrese una cadena en un textbox y me busque el datagrid la primera coincidencia. Es decir cuando vaya tecleando el nombre del cliente pues se me valla apareciendo la mejor coincidencia en el grid.

Les agradecere el comentario, sugerencia, etc.

saludos y bye!
__________________
grissss :Zzz:
grisel está desconectado   Responder Citando
Antiguo 21-may-2005, 13:52   #2 (permalink)
xknown está en el buen camino
 
Avatar de xknown
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.249
Para eso puedes utilizar la clase DataView, usando la propiedad RowFilter. Así podras cambiar la fuente de datos del DataGrid con cada filtrado que hagas.

Código:
'Este código iría en el evento TextChanged del TextBox
DataSet1.Tables("TuTabla").DataView.RowFilter = "AlgunaColumna like '%" & TextBox1.Text & "%'"
DataGrid1.DataSource = DataSet1.Tables("TuTabla").DataView
Saludos
PD. El código no está probado, posiblemente te de errores...
__________________
Alex Concha
Buayacorp - Programación y Diseño
xknown está desconectado   Responder Citando
Antiguo 22-may-2005, 07:41   #3 (permalink)
freegirl tiene algunos puntos positivos de karma
 
Avatar de freegirl
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalunya
Mensajes: 2.229
una pregunta sobre el Dataview.

Si tengo el Dataset lleno de datos, y luego con el Dataview filtro x registros, el dataset pierde los restantes registros?

saludos!
freegirl está desconectado   Responder Citando
Antiguo 22-may-2005, 08:47   #4 (permalink)
xknown está en el buen camino
 
Avatar de xknown
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.249
No, el DataView representa una vista personalizada de los datos que tienes...

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
xknown está desconectado   Responder Citando
Antiguo 22-may-2005, 09:07   #5 (permalink)
freegirl tiene algunos puntos positivos de karma
 
Avatar de freegirl
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalunya
Mensajes: 2.229
si tengo un dataset con cientos de registros, que es más recomendable para filtrar: utilizar un dataview o sería mejor filtrar con un consulta atacando directamente a la BD?

saludos y gracias!
freegirl está desconectado   Responder Citando
Antiguo 22-may-2005, 12:16   #6 (permalink)
xknown está en el buen camino
 
Avatar de xknown
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.249
En el caso de aplicaciones windows, en mi opinión es “mejor” que tengas todo o parte de los datos en el DataSet, ya que cada viaje a la base de datos es costoso, para lo que quieres hacer, se consumiría con cada consulta: recursos del servidor, recursos de red y naturalmente recursos del cliente; cuando todo eso pudieras haberlo hecho una o pocas veces, pero con la “desventaja” que consumiría más recursos en la computadora del cliente.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
xknown está desconectado   Responder Citando
Antiguo 24-may-2005, 17:31   #7 (permalink)
grisel ha deshabilitado el karma
 
Avatar de grisel
 
Fecha de Ingreso: diciembre-2004
Ubicación: Mexico
Mensajes: 215
Ok Xknown

Segui el tip que me diste y pues tengo lo siguiente:

Dim ds As New DataSet
Dim ts As New DataTable
Dim dv As New DataView

Dim tb As New DataTable

ts = oUsuarios.Consultar

With dv
.Table = ds.Tables("ts")
.AllowDelete = False
.AllowEdit = False
.AllowNew = False
.RowFilter = "nombre = '% " & TxtNombre.Text & " %'"
.RowStateFilter = DataViewRowState.ModifiedCurrent
tb = dv.Table
End With

DgProductos.DataSource = tb

Funciona parte del codigo pero me perdi al enlazarlo a mi DataGrid llamado DgProductos.

se va filtrando pero no aparece nada en el grid

Mi tabla tiene los siguientes campos:

idProducto
nombre
status
fabricante
precio

y lo estoy filtrando por el nombre porq asi lo requiero, efectivamente se va filtrando pero no me muestra nada en mi grid

se que es algo sencillo pero vamos la verdad que no se que sea
__________________
grissss :Zzz:
grisel está desconectado   Responder Citando
Antiguo 24-may-2005, 18:20   #8 (permalink)
xknown está en el buen camino
 
Avatar de xknown
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.249
Cita:
Iniciado por grisel
.RowFilter = "nombre = '% " & TxtNombre.Text & " %'"
Eso está buscando un producto con el nombre '% TuFiltro %', dudo mucho que encuentre algo o si?.

Ten en cuenta el "operador" que utilizas (=), además no debe haber ninún espacio después del primer % y antes del segundo %, si revisas el código que te envié te darás cuenta que puse con like y sin espacios (como ves no edité el primer mensaje que envié ... ), entonces tu código quedaría:
Código:
 ' ....
.RowFilter = "nombre like '%" & TxtNombre.Text & "%'"
' ...
Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
xknown está desconectado   Responder Citando
Antiguo 26-may-2005, 11:19   #9 (permalink)
grisel ha deshabilitado el karma
 
Avatar de grisel
 
Fecha de Ingreso: diciembre-2004
Ubicación: Mexico
Mensajes: 215
HOla.


Pues ya cheque los espacios y cambie el (=) por el LIKE y pues si me trae algo de hecho con (=) tambien me traia es decir como esta en el textchange entonces por cada letra que le doy me pone en el

RowFilter = "nombre like '%" & m & "%'"

pero ya al llenar mi grid no pone nada
__________________
grissss :Zzz:
grisel está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 15:37.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93