Comunidad Gambas-es
Esconder texto de una fila de un ComboBox o ListBox - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forumdisplay.php?fid=3)
+--- Foro: General (https://gambas-es.org/forumdisplay.php?fid=4)
+--- Tema: Esconder texto de una fila de un ComboBox o ListBox (/showthread.php?tid=319)



Esconder texto de una fila de un ComboBox o ListBox - gambafeliz - 25-03-2021

Hola,

Alguien se le ocurre la manera de esconder parte del texto de cada fila de un ComboBox o un ListBox, pero, ojo, debe poderse esconder algo que uno quiera por ejemplo:

Filas:
Esconder el ID
1 Fútbol
2 Baloncesto
3 Tenis

Después debe poderse recuperar por cada fila el ID

Gracias.


RE: Esconder texto de una fila de un ComboBox o ListBox - Shell - 27-03-2021

Hola GambaFeliz.

A ver. Esto va con respecto al tema que también buscas para la base de datos.
¿ Estas interesado en saber si la propiedad ItemData que tenía el listBox de Visual Basic existe en Gambas ?

Como tu sabes en el ListBox o el ComboBox solo vemos un texto. No hay más de una columna en una fila.

En el listbox de Visual Basic existía la propiedad List es un array que guarda texto y ItemData era un array interno
que usaba números, indices.

Por ahora no le he encontrado una necesidad de existencia de ItemData en el listBox de Gambas.
Estoy liado con un "viejo" ejemplo de Visual Basic convirtiendolo a Gambas, espero subirlo cuando lo acabe y comentas.
Pero me quiero asegurar de que esa propiedad tenga algo de interés.

[Imagen: truq4H9.png]


Saludos


RE: Esconder texto de una fila de un ComboBox o ListBox - gambafeliz - 27-03-2021

Gracias Shell pero que apañao eres Smile

El control de Microsoft Access hace esto:

Enlaza con dos campos (columnas) de una base de datos relacional. En cada fila, la columna una era el ID de la tabla y era oculto y la segunda columna era el campo visible para el usuario. Esto era muy muy útil para desarrollar combobox relacionales como un Combobox de Categorías y otro de Subcategorías.

Ahora bien,
Mira yo actualmente lo resuelvo en Gambas, así, te cuento:

1. Cargo un combobox con el campo visible y un String[] con las filas y en su interior con las columnas
2. Cuando el usuario selecciona un elemento del combobox solo tengo que obtener la Key de la fila y después relaciono esta Key con la posición en el String[]
3. Una vez echo esto obtengo cuantas columnas necesite conocer de la base de datos y así hago un Combobox en un Combobox relacional.

Espero que te interese mi explicación sino pues, bueno Smile

Oye muchas gracias de verdad por tu buen hacer sabes que te lo agradezco de verdad.


RE: Esconder texto de una fila de un ComboBox o ListBox - Shell - 31-03-2021

Me acuerdo del tema de M$ Acess, lo que pasa es que hace ya tanto tiempo.
 
(27-03-2021, 22:53)gambafeliz escribió:  Espero que te interese mi explicación sino pues, bueno

Claro que me interesa y mucho, todo lo que sea aprender para mejorar la programación es de mi interés y el de todos, aunque no siempre
se pueda estar. La vida es complicada.

La explicación es la misma que estoy usando en ese ejemplo. Lo tomo como referencia. Podemos aplicarlo al ejemplo que estoy haciendo.
(27-03-2021, 22:53)gambafeliz escribió:  1. Cargo un combobox con el campo visible y un String[] con las filas y en su interior con las columnas

El campo visible en el ListBox es el ISBN que es la clave. El String[] almacena cada fila (registro de los libros), los campos son las columnas (ISBN, Públicado por..). Hasta ahí ok.

Estamos hablando de un array estático, que se da por sentado cuantos registros puede tener y sus campos.

GAMBAS
  1. Private Const NumRegistros As Integer = 100
  2. Private Matriz_de_Datos As New String[NumRegistros, 4] 'Tenemos 100 registros y 4 campos


 
Cita:2. Cuando el usuario selecciona un elemento del combobox solo tengo que obtener la Key de la fila y después relaciono esta Key con la posición en el String[]

Solo es cuestión de buscar en cada uno de los registros
 
Cita:3. Una vez echo esto obtengo cuantas columnas necesite conocer de la base de datos y así hago un Combobox en un Combobox relacional.

Así es.

No he necesitado la propiedad similar ItemData los ListBox o ComboBox de Visual Basic. Pero me gustaría ver si e realmente necesaria.

Al final lo conseguiste.

Saludos