[RESUELTO] Relacionar entradas de ListBox con clave primaria

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
PabloBerugo
Mensajes: 8
Registrado: Mar Feb 10, 2015 4:13 am

[RESUELTO] Relacionar entradas de ListBox con clave primaria

Mensaje por PabloBerugo »

Hola a todos,

Estoy con el siguiente problema:
Estoy llenando un listbox en un dialogo de Calc desde una tabla de una base de datos de Base. Cuando el usuario selecciona un item del listbox, me gustaría obtener el ID del elemento seleccionado en la tabla de origen. Quiero saber si el Listbox cuenta con alguna propiedad en la que se pueda cargar este ID, y así obtenerlo sin tener que hacer otra consulta a la base de datos.

Ejemplo:

Id NmProducto
131 Producto1
135 Producto2

Mi idea es que al seleccionar el Producto1, obtener el valor 131 para así, en caso de necesitar editar el registro, apunte directamente a su PK.

Si no me explico, pido disculpas,
Desde ya, muchas gracias.
Pablo
Última edición por mauricio el Mar Sep 22, 2015 8:52 pm, editado 3 veces en total.
Razón: Marcar icono de resuelto
Solo viviendo absurdamente se podria romper alguna vez este absurdo infinito
LibreOffice 4.3.5.2 en Windows XP
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Relacionar entradas de ListBox con clave primaria

Mensaje por mauricio »

Creo recordar que no es posible guardar más de un valor en un ListBox... pero, si no son muchos datos, siempre puedes guardar una matriz de los datos en memoria, solo de los ID, el seleccionado en el ListBox, corresponderá con el mismo indice en la matriz...

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
PabloBerugo
Mensajes: 8
Registrado: Mar Feb 10, 2015 4:13 am

Re: Relacionar entradas de ListBox con clave primaria

Mensaje por PabloBerugo »

Hola Mauricio, gracias por contestar. Se me había ocurrido eso, pero creí que había una forma más "prolija" de hacerlo.

Investigando un poco, encontré que dentro del modelo del objeto, hay una propiedad llamada AllItems, que es un array de pares de String: Para el cada elemento del ListBox tiene un First = [Valor en el listbox] y un Second = "". Se me ocurrió que podía rellenar ese Second con el ID a guardar, pero no logré hacerlo, es decir logré modificar el Second pero cuando quise recuperarlo no traía valor, pese a que fue correctamente modificado.

Capaz se te ocurre algo con esto, sino, de nuevo muchas gracias.
Saludos
Solo viviendo absurdamente se podria romper alguna vez este absurdo infinito
LibreOffice 4.3.5.2 en Windows XP
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Relacionar entradas de ListBox con clave primaria

Mensaje por mauricio »

Pues yo no la veo: https://www.openoffice.org/api/docs/com ... Model.html

No tengo claro cual sería la diferencia en "prolijidad", si usas una matriz, incluso, usar la misma consulta a la base de datos...

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: [RESUELTO] Relacionar entradas de ListBox con clave prim

Mensaje por mauricio »

Compañero... si marcas como resuelto un tema, es importante mencionar que solución usaste para futuras referencias... ojala puedas comentarlo...

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Responder