Grid - Recorrer una grid

Creado por David Miralpeix, Modificado el Vie, 16 Feb a 12:26 P. M. por David Miralpeix

Mediante el código descrito a continuación es posible recorrer todas las filas de una grid y operar con sus contenidos para, opcionalmente, actualizar la grid con los resultados de nuestra operación.
Habrá que manipular el objeto ArrayDB del grid.


Código VB6:

Set lgrd = gForm.Controls("nombreGrid")
' Nos traemos el array a una variable para operar más fácilmente
Set lArr = lgrd.ArrayDb
Dim i
For i = lArr.Lowerbound (1) To lArr.UpperBound(1)
     ...
Next

'Opcional: actualizamos la grid. Si no lo hacemos, nuestras operaciones habrán sido solo de consulta.
Set lgrd.ArrayDb = lArr
lgrd.Grid.Rebind

Sub marcar (aMarca)
     Set lgrd = gForm.Controls("Pers_GrdCartera")
     Set lArr = lgrd.ArrayDb
     Dim i
     For i = lArr.Lowerbound (1) To lArr.UpperBound(1)
         lArr (i,lgrd.colindex("P_Marca")) = aMarca
     Next
     Set lgrd.ArrayDb = lArr
     lgrd.Grid.Rebind
End Sub


Código C#:

ICntGridUsuario lGrd = (ICntGridUsuario)gForm.Controls["NombreGrid"];
IXArrayDB lArr = lGrd.ArrayDb;

for (int i = lArr.LowerBound(1); i <= lArr.UpperBound(1); i++)
{
    // ...
}

// Opcional; actualizamos la grid. Si no lo hacemos nuestras operaciones habrán sido únicamente de consulta
lGrd.ArrayDb = lArr;
lGrd.ReBind();

private void Marcar(bool aMarca)
{
    ICntGridUsuario lGrd = (ICntGridUsuario)gForm.Controls["Pers_GrdCartera"];
    IXArrayDB lArr = lGrd.ArrayDb;
    for (int i = lArr.LowerBound(1); i <= lArr.UpperBound(1); i++)
    {
        // ...
    }
    lGrd.ArrayDb = lArr;
    lGrd.ReBind();
}


¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo