Ver Mensaje Individual
  #1  
Antiguo 23-02-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola gianfranco_tont.

En referencia a tu primer consulta:
Cita:
Hola foro, tengo un dbgrid con un clientdataset y lo que quiero hacer es que las filas se autonumeren, ejemplo. Cuando se crea una linea nueva en el grid que sea la 01 la siguen la 02 etc.
Creo que la opción más sencilla es que en el TClientDataSet, crees un campo calculado de tipo string (en el ejemplo lo llamo ClientDataSet1RecNo), mediante el Field Editor, ubícalo en el primer lugar de la lista de campos.

Luego en el evento OnCalcFields del TClientDataSet:
Código Delphi [-]
procedure TForm1.ClientDataSet1CalcFields(DataSet: TDataSet);
const
   NCEROS = 2; // Cantidad de ceros a la izquierda
begin
  with ClientDataSet1 do
    ClientDataSet1RecNo.AsString:= StringOfChar('0', NCEROS-Length(IntToStr(RecNo))) + IntToStr(RecNo);
end;
end;
Ese código dá exáctamente el resultado que solicitas.

Lógicamente es necesario que la propiedad DataSource del TDBGrid haga referencia al TDataSource que apunta al TClientDataSet.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita