Delphi - IDs de cada registro en List y Combobox

 
Vista:

IDs de cada registro en List y Combobox

Publicado por Marcelo (6 intervenciones) el 18/10/2002 15:18:54
Buen dia, quiero hacerles una consulta (seguramente basica) ya que estoy necesitando hacer una aplicacion con Delphi y estoy .

Necesito saber como puedo hacer para asociar el id del registro a cada item que ingreso en el componente, ya que no veo alguna propiedad como para poder hacerlo.

Ej. Llenar la lista con la Razon Social de cada cliente, y a cada item asoicarle el ClienteID de cada uno, de manera que cuando seleccionen, pueda conocer el ID del campo seleccionado para luego poder trabajarlo en la base de datos.

bueno muchas gracias por su tiempo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:IDs de cada registro en List y Combobox

Publicado por Victor (85 intervenciones) el 18/10/2002 16:58:36
No entiendo bien lo que escribiste, pero si queres usar un combobox o listbox para insertar datos, podes usar Lookupcomobox o loobuplistbox.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:IDs de cada registro en List y Combobox

Publicado por marcelo (6 intervenciones) el 18/10/2002 17:28:19
Victor:
Gracias por la respuesta, pero te voy a explicar mejor lo que necesito

Yo tengo un Tquery con un conjunto de registros de una consulta, en la que me traje ClienteID y Razon Social de una tabla.

Con estos quiero llenar un combo o una lista, y hago lo siguiente:

while not query.eof do
begin
listbox.item.add (query.flields[1]);
query.next;
end.

Que pasa, con esto lleno la lista con la razon social de cada cliente, todo barbaro, pero como asocio el ClienteID a cada item (a cada razon social agregada) que agrego en la lista?
Viste que en el query me traje el ClienteID y la Razon social.
Yo con el codigo anterior llene la lista con los nombres, pero lo que no se como hacer es asociar el ClienteID a cada item que agrego en la lista, me explico?
Porque de la menera que lo hago, si el usuario me selecciona algo de la lista, consulto el item seleccionado y obtengo la "razon social", pero lo que necesito es el ID, para despues poder trabajar con la base de datos.

No se si este componente tiene alguna propiedad mas donde pueda ir poniendo el ClienteID (ademas de la Razon Social) por cada item que agrego en la lista.

bueno, muchas gracias nuevamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:IDs de cada registro en List y Combobox

Publicado por Victor (85 intervenciones) el 18/10/2002 18:42:33
Ok, entiendo tu consulta. Voy a darte algunas ideas mias, y ojala que te sirvan.
El problema es que le listbox es solo para listar los items. No se si en el mismo listbox podes cargar dos datos relacionados como en las matrices. Yo haría de esta manera: Crear un array en donde voy cargando los ClienteID a medida de que voy cargando la Razon Social en el listbox, sería algo así:

While not Query.eof do
begin
listbox.item.add(query.fieldbyname('razon_social').asstring);
vector[i] := query.fieldbyname('clienteID').asinteger;
inc(i);
Query.next;
end;

De esta manera los datos de un registro se cargaran en un listbox y el array teniendo como el mismo index.

Se entiende?, seguramente habrá otra manera, pero ahora mismo no tengo otra idea.

Espero que te haya servido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:IDs de cada registro en List y Combobox

Publicado por marcelo (1 intervención) el 18/10/2002 18:52:31
Victor:
muhcas gracias por tu ayuda. Me sirve lo que me pasaste y es una buena opcion.
En el foro anduve buscando en el historico, y vi que nombraban un componente llamado TDBlookUpCombo.
La verdad no los pude leer todavia, pero me parece que es un combo que tendría alguna propiedad mas como para poder guardar el ID. Te lo comento como para si una vez andas con tiempo lo mires por si te puede servir. Yo voy a ver de que se trata y si no implemento lo que me mandaste que anda bien para lo que necesito.

saludos y gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:IDs de cada registro en List y Combobox

Publicado por Victor (85 intervenciones) el 18/10/2002 19:49:04
El componente TDBLookupcombobox era el componente que te mencíoné en mi primera respuesta, solo que no escribí completo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:IDs de cada registro en List y Combobox

Publicado por Marcelo (6 intervenciones) el 18/10/2002 20:05:07
Tenes razon Victor, se ve que del apuro que tengo no me tomo el tiempo necesario como para poder usar un poco la cabeza.
Voy a pegarle una mirada a ese control entonces.

gracias nuevamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:IDs de cada registro en List y Combobox

Publicado por marcelo (6 intervenciones) el 25/10/2002 15:28:48
Por si alguien le sirve, les cuento que lo que hice para podor solucionarlo fue utilizar ademas del combo un TstringList.:

        ListBox1.Items.Add(Query1.Fields [1].AsString);
        ComboBox1.Items.Add(Query1.Fields [1].AsString);       
        strList.Add(Query1.Fields [0].AsString);

espero que le pueda servir a alguien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:IDs de cada registro en List y Combobox

Publicado por vte (108 intervenciones) el 18/10/2002 18:54:18
Aqui hay un ejemplo de hacer un combobox con columnas

http://www.govst.edu/users/gsmpati/delphi/

otra opcion mas casera seria tener un TString u otro combobox invisible
donde vas metiendo a la par en uno la Razon Social y en el tro los ClienteID, de forma que el indice del primer combo box equivalga al indice del segundo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar