Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   .NET (http://www.forosdelweb.com/f29/)
-   -   Buscar en datagridview (http://www.forosdelweb.com/f29/buscar-datagridview-748510/)

pyroCL 29/10/2009 08:47

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!

eperedo 29/10/2009 09:31

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 :adios:

pyroCL 29/10/2009 10:15

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:
http://www.servidor-imagenes.com/thu...84994eceec.jpg

Espero me puedan ayudar.
Gracias!

Saludos!

eperedo 29/10/2009 11:37

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

CarDani 29/10/2009 17:58

Respuesta: Buscar en datagridview
 
Si estás trabajando con datasets tipados, binding sources, y table adapters puedo ayudarte.

pyroCL 02/11/2009 14:38

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 zona horaria es GMT -6. Ahora son las 20:46.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2024, Jelsoft Enterprises Ltd.