Ver la Versión Completa : Sangría En Dbgrid
osmardj
28-12-2017, 17:35:18
Hola a todos necesito ayuda con una duda que tengo quiero dar sangría en un DBGRID estoy creando un sistema contable y para el plan de cuentas quiero que me muestre de la siguiente forma
3637
CODIGO CUENTA
----------- | -------------------------
1 ACTIVO
1.1 ACTIVO CORRIENTE
1.1.1 ACTIVO DISPONIBLE
1.1.1.1 CAJA
1.1.1.1.1 CAJA MONEDA NACIONAL
Como ven la columna cuenta tiene sangria, estoy usando Delphi Belin con ADO y base de datos ACCESS 2017
le agradeseria su ayuda.
duilioisola
28-12-2017, 17:57:32
Una solución rápida sería implmentar el método OnGetText del campo CUENTA.
procedure TDMatamodule.TablaCuentasCUENTAGetText(Sender: TField; var Text: string; DisplayText: boolean);
begin
// Tomo tantos espacios como larga sea el codigo de cuenta (Maximo 15)
Text := copy(' ', 1, Length(TablaCuentasCODIGO.AsString)) + TablaCuentasCUENTA.AsString;
end;
procedure TDMatamodule.TablaCuentasCUENTAGetText(Sender: TField; var Text: string; DisplayText: boolean);
begin
// Tomo tantos espacios como larga sea el codigo de cuenta
Text := StringOfChar(' ', Length(TablaCuentasCODIGO.AsString)) + TablaCuentasCUENTA.AsString;
end;
osmardj
28-12-2017, 18:08:27
Muchas gracias por tu respuesta
en este caso también puedo hacelo con los TADOQUERY?
duilioisola
28-12-2017, 19:03:38
Si...
Es un método del campo, no del DataSet.
Hice la siguiente prueba:
Crear un AdoQuery AQPrueba.
Asignar todas las propiedades necesarias.
Doble Click sobre AQPrueba.
Hacer todos los campos persistentes.
En los campos que se necesite (CUENTA) agregar el método OnGetText
osmardj
28-12-2017, 19:18:49
Si...
Es un método del campo, no del DataSet.
Hice la siguiente prueba:
Crear un AdoQuery AQPrueba.
Asignar todas las propiedades necesarias.
Doble Click sobre AQPrueba.
Hacer todos los campos persistentes.
En los campos que se necesite (CUENTA) agregar el método OnGetText
Muchas gracias salio perfecto
Me gustaría saber si eso se puede hacer en un Treeview hice unas pruebas pero no pude realizarlo
3638
usando un ADOQUERY
duilioisola
29-12-2017, 09:05:48
Se puede...
Te respondo en el otro hilo: http://www.clubdelphi.com/foros/showthread.php?t=92679
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.