Foros del Web » Programación para mayores de 30 ;) » .NET »

Buscar en datagridview

Estas en el tema de Buscar en datagridview en el foro de .NET en Foros del Web. Hola... Tengo un datagrid, que lo lleno desde una base de datos... Esta grilla la muestro por páginas en la aplicacion... En la misma pantalla ...
  #1 (permalink)  
Antiguo 29/10/2009, 08:47
Avatar de pyroCL  
Fecha de Ingreso: marzo-2009
Ubicación: C#
Mensajes: 261
Antigüedad: 15 años
Puntos: 2
Buscar en datagridview

Hola...

Tengo un datagrid, que lo lleno desde una base de datos...
Esta grilla la muestro por páginas en la aplicacion...

En la misma pantalla se ingresa un dato, se busca, y si lo encuentra...

Quiero que la grilla se llene y quede ubicada en la página donde está el dato, o quede seleccionando el dato que se encontró... me entienden???

Espero me puedan ayudar...

Gracias.
Saludos!
__________________
La verdadera sabiduría está en reconocer la propia ignorancia.
  #2 (permalink)  
Antiguo 29/10/2009, 09:31
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 5 meses
Puntos: 16
Respuesta: Buscar en datagridview

Cita:
Tengo un datagrid, que lo lleno desde una base de datos...
Al final es un DataGrid o DataGridView??

Cita:
Quiero que la grilla se llene y quede ubicada en la página donde está el dato
No entiendo bien eso de la página, estás trabajando en un sitio web??
Como este foro es de winforms.

Si es una aplicación winforms y estás usando un datagridview puedes hacer algo como esto:
Código vb.net:
Ver original
  1. For Each fila As DataGridViewRow In Me.DataGridView1.Rows
  2.             If fila.Cells.Item("ProductName").Value.ToString() = "Chang" Then
  3.                 fila.Selected = True
  4.             End If
  5.         Next
Recorres todas las filas según una determinada columna (ProductName) y lo compara con el dato ingresado (Chang). Si se cumple la condición se selecciona la fila.

Espero te sirva
  #3 (permalink)  
Antiguo 29/10/2009, 10:15
Avatar de pyroCL  
Fecha de Ingreso: marzo-2009
Ubicación: C#
Mensajes: 261
Antigüedad: 15 años
Puntos: 2
Respuesta: Buscar en datagridview

Hola... lo intenté y no me funcionó...
a ver me explico...

en el panel de la imagen, lo primero que se hace es ingresar un rut (identificador) de una empresa. Luego se busca, si es que el sistema la encuentra, muestra el DataGridView con todas las empresas que hay, en el caso de la imagen en páginas de 6 filas (el numerito de arriba de la datagridview muestra la cantidad de filas por página de ésta.

Lo que quiero, si es que se puede es que al buscarla, si la encuentra, busque según el identificador de la empresa en el datagridview y me muestre justo la página donde ésta se encuentra.

Dejo la imágen:


Espero me puedan ayudar.
Gracias!

Saludos!
__________________
La verdadera sabiduría está en reconocer la propia ignorancia.
  #4 (permalink)  
Antiguo 29/10/2009, 11:37
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 5 meses
Puntos: 16
Respuesta: Buscar en datagridview

A ver si entendí, tienes un control datagridview al que le has agregado la funcionalidad de paginado verdad?
Podrías hacer algo así:
Código vb.net:
Ver original
  1. Function buscar() As Boolean
  2.         For i As Int32 = 1 To total_paginas 'reemplazarlo
  3.             For Each fila As DataGridViewRow In Me.DataGridView1.Rows
  4.                 If fila.Cells.Item("ProductName").Value.ToString() = Me.TextBox1.Text Then
  5.                     fila.Selected = True 'seleccionamos la fila que cumpla la condición
  6.                     Return True ' Si se encontró el registro salimos de la función
  7.                 End If
  8.             Next
  9.             'Si llega acá quiere decir que no ha encontrado nada en esta pagina
  10.             'Le decimos que cambie a la sgte página y que vuelva a hacer la búsqueda.
  11.             cambiar_pagina(i)
  12.         Next
  13.     End Function

No sé realmente como es que has personalizado la paginación por eso he tomado de ejemplo los nombres total_paginas y cambiar_pagina(i).
Te dejo un video para que veas si es realmente lo que tu deseas.
búsqueda en paginación con datagridview
__________________
Eduardo Peredo
Wigoin
  #5 (permalink)  
Antiguo 29/10/2009, 17:58
 
Fecha de Ingreso: octubre-2009
Mensajes: 20
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Buscar en datagridview

Si estás trabajando con datasets tipados, binding sources, y table adapters puedo ayudarte.
  #6 (permalink)  
Antiguo 02/11/2009, 14:38
Avatar de pyroCL  
Fecha de Ingreso: marzo-2009
Ubicación: C#
Mensajes: 261
Antigüedad: 15 años
Puntos: 2
Respuesta: Buscar en datagridview

Hola!...

Les cuento que luego de unas cuantas pruebas y errores, me funcionó lo que necesitaba... me ayudó mucho el código de "EPEREDO", muchas gracias....

Este es el codigo por si a alguien le sirve:


Código C#:
Ver original
  1. private void buscaEmpresaEnLista(string rut)
  2.         {
  3.            
  4.             for (int i = 1; i < PageCount; i++)//se recorren las páginas
  5.             {
  6.                 for (int j = 0; j < pageSize; j++)//se recorre cada fila de una página
  7.                 {
  8.                    
  9.                     if (dataGridView1.Rows[j].Cells[0].Value.ToString() == rut)//se va comparando el rut ingresado con el de la lista
  10.                     {
  11.                         dataGridView1.Rows[j].Cells[0].Selected = true;//se selecciona el rut al encontrarlo
  12.                         dataGridView1.Rows[j].Cells[1].Selected = true;//se selecciona el nombre de la empresa al encontrarlo
  13.                         dataGridView1.Rows[0].Cells[0].Selected = false;//se deselecciona la primera fila de la página en la que se encontro la empresa
  14.  
  15.                         return;//sale del metodo
  16.                     }
  17.                 }
  18.                 btnNextPage.PerformClick();//se cambia de pagina si no se encuentra en la actual
  19.             }
  20.  
  21.             btnFirstPage.PerformClick();//si no se encuentra en ninguna, se devuelve a la primera hoja
  22.            
  23.         }

Saludos!
__________________
La verdadera sabiduría está en reconocer la propia ignorancia.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:15.