Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Enlacer ListBox con BD (https://www.clubdelphi.com/foros/showthread.php?t=29005)

Minotaure 10-01-2006 12:05:15

Enlacer ListBox con BD
 
Hace poco que estoy con Delphi. Trabajo con Delphi 6.

Estoy intentando enlazar un control ListBox (o similar) con una BD y al vez que puedas seleccionar más de un item (multiselect). Lo que me he encontrado es que los componentes que se pueden enlazar con la BD con facilidad no tienen la opción multiselect y en cambio los que tienen la opciónd e multiselect no tienen la opción de DataSource.

Me gusaría saber si es posible enlazar un ListBox con una Base de datos y a la vez poder hacer un MultiSelect, es decir que el usuario pueda seleccionar más de un item.

Muchas gracias.

Neftali [Germán.Estévez] 10-01-2006 12:20:42

Una pregunta; Y si seleccionas 20 elementos de la lista, ¿Qué deberías guardar en la Base de Datos? ¿Y qué tipo de campo utilizarías para ello?

Creo que como la respuesta a éstas preguntas no es algo estandard, justo por eso no has encontrado ningun componente que te lo haga.

Creo que tendrás que hacerlo "a mano". Danos la contestación a las dos preguntas anteriores y tal vez podamos ayudarte.

Un saludo.

Minotaure 10-01-2006 12:33:45

ListBox multiselect
 
Tengo hecho un programa de alertas en el cuál hay unos determnados usuarios (ejemplo: los empleados de una empresa). Ahora un usuario puede enviar una alerta (mensaje) a otro usuario, pero no puede enviar el mismo mensaje a más de un usuario. Mi intención es que pueda seleccionar más de un usuario cómo destinatario para enviar la alerta.

La idea que tengo es que en la base de datos se guarde un registro por cada usuario seleccionado (por ejemplo, si selecciona 3 usuarios grabar 3 filas en la tabla con exactamente el mismo contenido excepto el código de usuario, que será diferente y quiero sacarlo del ListBox). Es decir quiero hacer un bucle for teniendo en cuenta el número de elementos seleccionados en el ListBox.

Espero haberme explicado. Ya me diréis si esto que quiero hacer es posible o no.

Gracias.

reina 10-01-2006 13:19:01

No sé si entendi bien..
 
La forma mas facil..es que vayas seleccionando y que pases a otra lista..una lista de destinatarios, esa seria una manera facil y sin complicaciones, es decir tener la lista de usuarios tomada de la BD y otra lista donde vayas seleccionando de la 1ra y por medio de un boton vayas pasando a la 2da lista. Muchas veces nos traban situaciones que la queremos solucionar de forma complicada..siendo que podriamos hacerlo mas facil..Espero te sirva!
saludosss


LA PATRIA SERA LIBRE

Neftali [Germán.Estévez] 10-01-2006 15:29:27

Cita:

Empezado por Minotaure
La idea que tengo es que en la base de datos se guarde un registro por cada usuario seleccionado (por ejemplo, si selecciona 3 usuarios grabar 3 filas en la tabla con exactamente el mismo contenido excepto el código de usuario, que será diferente y quiero sacarlo del ListBox). Es decir quiero hacer un bucle for teniendo en cuenta el número de elementos seleccionados en el ListBox.

Sí es posible.
Tú mismo has dado la solución.
En el lugar donde hagas el Post para insertar, haz un recorrido (for) sobre los elementos de la lista (ListBox.Items.Count) e insertalos en la tabla que necesites uno a uno.

Chente(rMan) 10-01-2006 16:33:34

Podrias utilizar un dbgrid enlazado a un dataset, y al DBGrid lo configuras con multiselect, y ya esta.


Aunque de igual forma tendras que hacer un FOR para saber cual estan seleccionados.


Saludos.

Minotaure 11-01-2006 11:59:16

Gracias
 
Muchas gracias a todos por vuestra ayuda, pero especialmente a reina, ya que al final he implementado su solución y me funciona perfectamente.
Tiene razón cuándo dice que a veces nos queremos complicar la vida más de la cuénta.


La franja horaria es GMT +2. Ahora son las 18:12:58.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi