Ver Mensaje Individual
  #6  
Antiguo 26-05-2006
VIRU VIRU is offline
Miembro
 
Registrado: may 2003
Posts: 25
Reputación: 0
VIRU Va por buen camino
Bueno para empezar aunque no me convence mucho la traduccion que encontre a la palabra fue unbound = Desatado, la cuestion es crear en la grilla siempre hablando del CXGRID una o tantas columnas necesitemos con datos autocalculados, lo unico que no deven tener estas columnas es una asignacion a un campo del dataset ya que de esta manera estarimos obteniendo los datos de dicho dataset.
Bueno defini una columna UNBOUND llamada columnaprueba.
En el evento datachange del dataset (para reflejar los cambios ante cualquier cambio) y en el evento oncreate del form (para rellenar los valores al iniciarlizarse la aplicacion) comense a escribir mi codigo.
Código Delphi [-]
procedure TForm1.DSVentasDataChange(Sender: TObject; Field: TField);
var
i:integer;
begin
comienzo una actualizacion a la grilla
Código Delphi [-]
cxGrid1DBTableView1.BeginUpdate;
recorro todos los registros y actualizo uno por uno
Código Delphi [-]
for I := 0 to cxGrid1DBTableView1.DataController.RecordCount - 1 do
            cxGrid1DBTableView1.DataController.SetValue(I, columnaprueba.Index,
    cxGrid1DBTableView1.DataController.Values[i,cxGrid1DBTableView1importeventa.index]
     - 30.10);
Termino la actualizacion
Código Delphi [-]
cxGrid1DBTableView1.EndUpdate;

El responsable de que esto funcione es el procedimiento setvalue de datacontroller donde se le pasan los parametros (indice de registro, indice de item, y el valor) esta es la declaracion.
Código Delphi [-]
SetValue(ARecordIndex, AItemIndex: Integer; const Value: Variant)
Bueno cualquier duda consultame.
Responder Con Cita