Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-12-2013
vicens22 vicens22 is offline
Miembro
 
Registrado: Dec 2010
Posts: 48
Poder: 0
vicens22 Va por buen camino
Propiedades en listbox - Listbox vs TGrid otras opciones

Sigo intentando avanzar con el desarrollo para móviles (Android / IOS).

He creado una sencilla aplicación que conecta con una base de datos vía datasnap y visualiza en un listbox los registros de una tabla de clientes.
Muestro un tlistbox con los datos básicos de la tabla (nombre empresa y teléfono), he conectado utilizando livebindings las propiedades listbox.item.text con el campo empresa y listbox.item.detail con el teléfono, de forma que me muestra según lo que pretendía el nombre de la empresa y debajo el teléfono. Hasta aquí todo correcto.

Ahora quería conseguir que al seleccionar una fila del listbox, se activara otro formulario mostrando una ficha más completa del cliente.
El problema con el que me encuentro al llegar a este punto, es que necesito guardar en alguna propiedad del listbox el campo id del cliente para poder pasarlo como parámetro al clientdataset del formulario que mostrará la ficha completa, pero no encuentro ningún campo que pueda relacionar desde el livebindings en el listbox, ya que como campos de cada item del listbox solo encuentro los dos citados: text y detail, los cuales muestran la primera y segunda fila de cada registro del listbox.

Mi pregunta es si no existe alguna propiedad en el objeto listbox que pueda servirme para almacenar el comentado id del cliente o cual sería la alternativa más correcta para lo que busco ??

Mi otra duda es si existe algún otro componente que sea más completo o apropiado que el listbox. Tal vez el tGrid u otro similar permitiría lo que pretendo de forma más sencilla ??

Gracias por cualquier comentario o ayuda.
Saludos,

Vicens
Responder Con Cita
  #2  
Antiguo 10-12-2013
quimeras quimeras is offline
Miembro
 
Registrado: Apr 2004
Posts: 84
Poder: 15
quimeras Va por buen camino
Efectivamente Vicens ese es uno de los problemas que me encontré y que me dio muchísimos quebraderos de cabeza, la única solución válida que encontré es utilizar en el ListView el Item.ButtonText para enlazarlo con el id y utilizar ese dato para buscar el resto de los valores de los campos de la tabla.
Existen rejillas mas completas para Firemonkey como TMS o Infopower, pero no las he probado. Ambas son de pago.

Última edición por quimeras fecha: 10-12-2013 a las 10:48:38.
Responder Con Cita
  #3  
Antiguo 10-12-2013
vicens22 vicens22 is offline
Miembro
 
Registrado: Dec 2010
Posts: 48
Poder: 0
vicens22 Va por buen camino
Hola,

Como comentaba yo estoy utilizando el componente tListBox.
El componente tListView no lo he probado aún, pero acabo de ver que como dices tiene esa propiedad ButtonText.
Sabes que diferencias hay entre ambos (tListbox vs tListView) ??

Puedo igualmente insertar un tSearchBox para realizar búsquedas directamente en el tListView igual que hago en el tListBox ??


Gracias por tu ayuda.
Saludos,

Vicente
Responder Con Cita
  #4  
Antiguo 22-08-2014
pape19 pape19 is offline
Miembro
 
Registrado: Jul 2010
Posts: 96
Poder: 8
pape19 Va por buen camino
Alguien pudo resolver este problema?
Responder Con Cita
  #5  
Antiguo 22-08-2014
edgargh edgargh is offline
Miembro
 
Registrado: Jun 2006
Ubicación: León, Guanajuato
Posts: 25
Poder: 0
edgargh Va por buen camino
Que tal, se supone que desde livebindings (Bind Visually) puedes relacionar tu listbox o listview con tu bindsource a traves de la propiedad Synch y con eso tu control se sincroniza con tu fuente de datos, de tal forma que al moverte en el control te mueves en la fuente de datos
Responder Con Cita
  #6  
Antiguo 25-08-2014
chaosego chaosego is offline
Miembro
 
Registrado: Jan 2007
Posts: 39
Poder: 0
chaosego Va por buen camino
Hola Vicens, veo dos opciones para tu problema, aunque seguro que hay más.
La primera usar los TClassHelper para modificar los ListItem añadiendo las propiedades que mas te interesen.
La segunda es crear tu propio Item (ya sea para TListBox o para TListView), mira los ejemplos que vienen con delphi, vienen las formas de hacerlo para ambas listas.
La solución de los DataBindings es tambien muy acertada y puede complementar la creación de un Item personalizado enlazando a las nuevas propiedades que incluyas.
Responder Con Cita
  #7  
Antiguo 13-10-2014
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
 
Registrado: Aug 2013
Ubicación: Argentina
Posts: 1.858
Poder: 9
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
En realidad no es tan complicado como dicen, al moverse en tu control visual (listbox, listview, grid, etc) enlazado a traves de Live Bindings a un TDataSet, el realmente se mueve es el TDataSet (tu tabla!), el control toma los datos que se le indicaron de la tabla y los muestra. Esto significa lo que tenes que pasarle al otro formulario es el campo Id de tu tabla, algo asi:

Código Delphi [-]
BindSourceN.DataSet.FieldByName('Id').AsInteger;

Sino lo que podes hacer es, en el otro form que va a hacer de ficha de datos, enlazar los controles a traves de live bindings con los campos de la tabla, ya que en ese momento va a estar apuntando al registro que necesitas

Un saludo!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Wine u otras opciones fidel Linux 7 28-11-2009 18:55:06
agregar y/o eliminar items de un listbox a partir de otro listbox Goyo PHP 2 27-09-2007 16:46:30
SysMenu y/u otras opciones de la Barra de Título gluglu API de Windows 5 15-12-2006 18:27:35
listbox gsilvei Varios 2 06-09-2006 04:20:44
2 Listbox y BD .... elbilla Varios 5 04-11-2004 11:06:12


La franja horaria es GMT +2. Ahora son las 02:57:18.


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