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; 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.