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 SubCó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
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo