![]() |
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! |
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 TextBoxPD. El código no está probado, posiblemente te de errores... |
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! |
No, el DataView representa una vista personalizada de los datos que tienes... Saludos |
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! |
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 |
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 :no: se que es algo sencillo pero vamos la verdad que no se que sea :borracho: |
Cita:
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é ... :no:), entonces tu código quedaría: Código: ' .... |
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 :no: |
| La zona horaria es GMT -6. Ahora son las 10:03. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.