Hola, vamos a realizar un caso en que al momento de modificar un campo, se modifiquen otros a consecuencia. Para facilitar el ejemplo los campos seran de tipo enum (NoYes).
Utilizaremos lo siguiente:
TABLA: Table1
CAMPO: Field1, Field2, Field3
METODO: Update()
FORMULARIO: Form1
DATASOURCE: Table1
DISEÑO: Grid(todos los campos del datasource)
--------------------------------------Pasos---------------------------------------------------
En el metodo update() de la tabla ponemos las condiciones:
public void update()
{
if(this.Field1 == noyes::Yes)
{
this.Field2 = noyes::No;
this.Field3 = noyes::No;
}
if(this.Field2 == noyes::Yes)
{
this.Field1 = noyes::No;
this.Field3 = noyes::No;
}
if(this.Field3 == noyes::Yes)
{
this.Field1 = noyes::No;
this.Field2 = noyes::No;
}
super();
}
En cada campo del grid del formulario vamos a crear metodos clicked() y poner lo siguiente:
public void clicked()
{
super();
Table1_ds.research();
}
Con lo realizado, al momento de que un campo este con check, los otros se van a blanquear.
Saludos.
viernes, 22 de julio de 2011
jueves, 21 de julio de 2011
Manejando columnas y filas de un grid
Hola, hay veces que nos piden capturar especificamente algunas columnas o filas de un grid en un formulario. Daré un ejemplo de cómo hacer dicho procedimiento, utilizando un botón. Para esto pondremos el siguiente código en el metodo clicked() del botón:
void clicked()
{
int i;
int numcol, f;
;
numcol = tuGrid.controlCount();
if (TuDatasource_ds.first())
{
do
{
for (f=1;f<=numcol;f++)
{
box::info(tuGrid.controlNum(f).valueStr());
}
} While (TuDatasource_ds.next());
}
super();
}
Nota: es importante tener la propiedad "AutoDeclaration" del grid en TRUE.
Saludos.
void clicked()
{
int i;
int numcol, f;
;
numcol = tuGrid.controlCount();
if (TuDatasource_ds.first())
{
do
{
for (f=1;f<=numcol;f++)
{
box::info(tuGrid.controlNum(f).valueStr());
}
} While (TuDatasource_ds.next());
}
super();
}
Nota: es importante tener la propiedad "AutoDeclaration" del grid en TRUE.
Saludos.
Suscribirse a:
Entradas (Atom)