abracadabraPDF › Forums › PDF – Général › Remplir zones de texte à partir de la ligne sélectionnée dans une zone de liste › Répondre à : Remplir zones de texte à partir de la ligne sélectionnée dans une zone de liste
Il s’agit bien d’une zone de liste (l’option « sélection multiple » n’a pas été activée). J’importe donc lors de l’activation de la première zone de texte les données de la pièce jointe dans la zone de liste avec le code suivant :
this.getField(« LISTE-PCS »).clearItems();
var PJOINTE = this.getDataObject(this.dataObjects[0].name)
var fi = this.getDataObjectContents(PJOINTE.name)
var fit = util.stringFromStream(fi)
var LIGNES = fit.split(« n »);
var COLONNES = new Array();
for (var i = 0 ; i = LIGNES.split(« ; »)}
var TABLEAU = new Array() ;
for (var j = 0 ; j
this.getField(« LISTE-PCS »).setItems(TABLEAU); // champ liste déroulante
[this.getField(« LISTE-PCS »).setFocus();
Je voudrais que lorsque l’utilisateur sélectionne une ligne dans la zone de liste (par clic), que son contenu soit scindé en deux parties et s’inscrive dans deux zones de texte.
Chaque ligne du fichier .txt est constituée d’une chaine de 4 caractères (3 chiffres et 1 lettre) suivie d’une tabulation puis d’une chaine de caractères de longueur variable et terminée par un « ; ».
Je ne sais pas comment récupérer dans une variable la valeur de la ligne sélectionnée dans la zone de liste pour pouvoir la scinder en deux et inscrire chaque partie dans la zone de texte correspondante.
En VB.net j’aurai ajouté sur une procédure « OnClick » de la zone de liste le code suivant :
Dim Code as String = SubString(LISTE-PCS.SelectedValue, 0, 3)
Dim Libelle as String = SubString(LISTE-PCS.SelectedValue, 5, LISTE-PCS.SelectedValue.Lenght – 5)
CODE-PCS.Value = Code
LIB-PCS.Value = Libelle
Avec LISTE-PCS le nom de la zone de liste, CODE-PCS le nom de la première zone de texte et LIB-PCS le nom de la deuxième.
Malheureusement, je ne maitrise pas du tout le JavaScript. :Smiley02: