FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Componente DBCheckListBox
Hola a todos:
La situación de hoy es la siguiente: en un formulario uso un CheckListBox en el cual cargo una serie de datos que provienen de un Dataset, es decir como ejemplo va lo siguiente: Pequeños Productos Medianos Productores Grandes Productores A su vez utilizo un segundo CheckListBox que coloco en la parte posterior del primer CheckListBox, allí van los códigos que relacionan la información para mi caso la llave primaria, es decir como ejemplo: 1 5 7 En la medida que voy selecccionando o desmarcando un o varios de los items del primer CheckListBox, sucede lo mismo con el segundo CheckListBox, finalmente en el momento de almacenar los datos hago un barrido del los datos del segundo CheckListBox y guardo la información. Mi pregunta es la siguiente ¿ Existe algún componente de uso libre que me permita mostrar los datos de mi dataset tan como lo hago con el primer CheckListBox, pero que si mostarme me guarde su vez los datos de llave primaria como lo hago con el segundo CheckListBox.? Para mi caso utilizo Delphi 6 Ver Enterprise. Gracias de Antemano gertorresm Colombia Última edición por GerTorresM fecha: 14-01-2010 a las 10:15:39. Razón: error de escritura |
#2
|
||||
|
||||
Cita:
La propiedad Items del TCheckListBox es un TStrings, que es donde guardas las cadenas. El TStrings tiene un propiedad Object que está pensada para que puedas guardar un objeto cualquiera, asociado a cada cadena del TStrings. De esta forma cada elemento de la lista puede tener asociado cualquier cosa. Puedes crear un objeto, un record,... Esa propiedad es un Puntero, con el que tú puedes apuntar a lo que quieras. En mi caso, lo que he hecho alguna vez, es utilizar ese puntero, no para almacenar objetos, sino para almacenar números (teniendo el cuenta que el tipo que alamacena el puntero es numérico). De esta forma puedes asociar a ese puntero un número utilizando algo así: (1) Coloca un TCheckListBox en un formulario. (2) Rellena unas cuuantas cadenas. (3) en el evento OnShow coloca esto (para rellenar un número a cada cadena)
Con esto tenemos todas las cadenas con un número asociado (0, 100, 200, 300,...) (4) En el OnClick del TCheckListBox coloca lo siguiente para comprobar cómo se accede a cada número.
Si el numero que debes almacenar (clave) cumple con que se pueda almacenar en un tipo Pointer, esto te puede servir y es bastante sencillo. Un saludo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
como comparar cada linea de un componente Memo1 con un componente ListBox1 | soma25 | C++ Builder | 1 | 31-10-2007 10:02:22 |
componente SSH | didier | OOP | 2 | 25-05-2007 22:07:47 |
Componente | Rodrigo Rodrígu | OOP | 1 | 29-10-2004 18:14:33 |
Apuntar una propiedad de un componente a otra de otro componente | Majo | Varios | 10 | 24-03-2004 19:46:39 |
componente bd 32 | rrojano | Conexión con bases de datos | 0 | 20-06-2003 18:24:08 |
|