![]() |
Ayuda con TColumn
Hola a todos, necesito de vuestras ayudas nuevamente.
Quiero agregar un par de propiedades a un TColumn. Hice lo siguiente pero me da error en RunTime:
Me pueden ayudar please........qué estoy haciendo mal? Saludos y desde ya muchas gracias |
a simple vista, veo que columna no tiene las propiedades field1 y field2, por mucho cast que le hagas al crear la columna no tiene esas propiedades por lo tanto no se las puedes asignar, prueba lo contrario, crear TRBColumn y asignarlas a TColumn, si no es mucha indiscrecion, que tratas de hacer? a lo mejor hay una manera mas facil
|
gracias por tu tiempo luis......Lo que quiero es poder tener algunas nuevas propiedades por columnas del DBGrid. Por ejemplo, quiero definir si la columna(s) que estoy agregando servirá para hacer sort y/o filtro y/o otra cosa.
Actualmente, no me sirve chequer el Numero de Columna para hacer tal o cual cosa, porque la grilla se puede cargar con difenrentes columnas, dependiendo del query asociado en distinto momento. No sé si me explico.... Es por eso que me gustaría tener alguna porpiedades adicionales para la columna..... |
entonces intenta crear tus TRBColumn y asignalas al DBGrid, porque por lo que veo agarras las columnas del grid y las asignas al TRBColumn, algo que tambien te puede servir es que hagas por ejemplo un TList o un TCollection y tu TRBColumn pero donde tu pongas las columnas y aparte tengas las propiedades, algo asi como
tienes que inicializar la columna y demas, no me acuerdo si en la pagina de delphi.about.com vi como utilizar la propiedad tag para "direccionarla" a un objeto o componente que es algo que tambien te podria servir |
Gracias por tu ayuda luis, voy a intentar con lo que me dices.....
Mil gracias. |
Ayuda con TColumn
Existe un en delphi wue permite "engañar" al compilador con una superposicion.
Simplemente en types declara tu clase para TColumn y declara que hereda de la clase original TColumn aclarando la unit de donde proviene la original (en este momento no me acuerdo de cual unit se saca la clase TColumn orignal por lo que la voy a nombrar "unitcl") type TColumn=class(unitcl.TColumn) private FField1:string; FField2: string; public property Field1:string write FField1 read FField1; property Field2:string write FField2 read FField2; end; Declara esta clase antes de la declaración de clase de la ventana donde necesitas o utilizas el control. Al momento de trabajar con el objeto simplemente utilizala como cualquier otra clase. ... dbgrid.column[0].field1:='a'; ... Es de aclarar que esta superposición solo funciona para el código, no para el diseño de la ventana y mucho menos para el inspector de objetos. |
La franja horaria es GMT +2. Ahora son las 05:23:17. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi