2 colonnes dans Combobox

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
Ramirez22
Niveau 1
Niveau 1
Messages : 5
Enregistré le : dim. 22 janv. 2017 12:16
Status : Hors ligne

2 colonnes dans Combobox

#1

Message par Ramirez22 »

Bonjour à toutes et à tous.

Je cherche à faire une combobox à 2 colonnes ou quelque chose qui pourrait s'en approcher.
Petite explication:
J'ai une base de donnée SQlite avec une table comprenant une colonne "code" et une colonne "description".
Le code est un groupe de 2 ou 3 caractères et la description... une description du code :roll:

Dans un formulaire, j'ai une liste déroulante (combobox) que je rempli avec les données de la colonne "code".
Ce n'est pas très ergonomique pour les utilisateurs (qui doivent mémoriser plus d'une centaine de codes) et j'aimerais afficher le code et la description correspondante lors du choix dans la liste déroulante.
  • Soit avec 2 colonne dans la liste déroulante
  • Soit avec un commentaire qui s'affiche lorsque l'on pointe l'élément (item) de la liste déroulante et que je renseignerais en fonction de la colonne "description"
J'ai déjà essayé de concaténer les 2 colonnes de ma table, mais si l'affichage fonctionne, le traitement derrière est beaucoup plus complexe (pour récupérer l'index de l'enregistrement de la table SQLite). Il faudrait que la sélection ne renvoie que le "code" et pas la "description".

Impossible de réaliser la sélection de l'item par le numéro d'index de la combobox car je la rempli avec une fonction SQLite "SORT BY xxx ASC" (ce qui permet d'avoir un classement alphabétique de mes codes) et donc, les codes dans la combobox ne sont pas dans le même ordre que les codes de la table SQLite.

Bref, existe-t'il un moyen (simple ?) de faciliter la vie de mes utilisateurs ?

J'espère que mes explications sont claires (moi, je me comprends :lol: )

Merci de vos idées.
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: 2 colonnes dans Combobox

#2

Message par walkson »

Bonjour,
Quand vous faites votre requête _SQLite_GetTable2d(-1, $sql ,$aResult, $iRows, $iColumns) vous récupérez $aResult qui est un array qui permet de charger la combo en bouclant sur la première colonne de $aResult
$lire = ""
   For $i = 0 To UBound($aResult,1) - 1
      $lire &= $aResult[$i][0] & "|"
   Next
Guictrlsetdata($combo,$lire)
Donc, l'ordre du combo est le même que $aResult, ce qui nous donne en cliquant sur le quatrième item du combo => $aResult[4][1] la description et $aResult[4][0] le code
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Ramirez22
Niveau 1
Niveau 1
Messages : 5
Enregistré le : dim. 22 janv. 2017 12:16
Status : Hors ligne

Re: 2 colonnes dans Combobox

#3

Message par Ramirez22 »

Bonjour Walkson

Avant tout, merci de m'avoir répondu.
Je vais essayer ça, mais j'ai du mal à comprendre le fonctionnement.
Ça semblera sans doute plus clair après essais :lol:

Merci encore, je posterai le résultat un peu plus tard.
Répondre