Donnez vie à vos documents numériques !
 

Répondre à : Remplir zones de texte à partir de la ligne sélectionnée dans une zone de liste

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

#68312
yalec38
Membre

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: