Donnez vie à vos documents numériques !
 

Répondre à : Multiliste déroulante

abracadabraPDF Forums PDF – Général Multiliste déroulante Répondre à : Multiliste déroulante

#74415
bebarth
Maître des clés

bonjour,
Voici ce que j’ai fait aujourd’hui. J’espère que cela te convient. Pour cacher les fichiers attaché on pourrait faire une tempo toutes les secondes par exemple, mais ça veut dire que le fichier est perpétuellement en calcul !

Voici tous les scripts que j’ai utilisé. Si tu es débutant ça va peut-être un peu compliqué pour toi à comprendre : Il y a des scripts de document, des fonctions, une page modèle…

// Script de document
//
var nbDepart=0;
for (var i=0; i<this.numFields; i++) {
if (/^Départ\.\d+/.test(this.getNthFieldName(i))) nbDepart++;
}
var fichier=this.getDataObjectContents("Départ.csv");
var donnees=util.stringFromStream(fichier);
var lignes=donnees.split("\r\n");
var colonnes=new Array();
for (var i=0 ; i<lignes.length ; i++) colonnes=lignes.split(";");
var colonne0=[];
for (var j=0 ; j<colonnes.length ; j++) {
if (colonnes[j][0]) colonne0.push([colonnes[j][0]]);
}
for (var i=1; i<=colonne0.length; i++) {
eval("var colonne"+(i+1)+"=[];");
for (var j=0 ; j<colonnes.length ; j++) {
if (colonnes[j]) eval("colonne"+(i+1)).push(colonnes[j]);
}
}
colonne0[0].push(0);
for (var i=1; i<colonne0.length; i++) {
colonne0.push(eval("colonne"+(i+1)))
}
// Fichier "Départ Arrivée.csv"
var fichierDA=this.getDataObjectContents("Départ Arrivée.csv");
var donneesDA=util.stringFromStream(fichierDA);
var lignesDA=donneesDA.split("\r\n");
var colonnesDA=new Array();
for (var i=0 ; i<lignesDA.length ; i++) colonnesDA=lignesDA.split(";");
for (var i=1; i<=colonnesDA[0].length; i++) {
eval("var colonne"+(i+1)+"DA=[\"- Sélectionnez -\"];");
for (var j=1 ; j<colonnesDA.length ; j++) {
if (colonnesDA[j]) eval("colonne"+(i+1)+"DA").push(colonnesDA[j]);
}
}
//
var leCanal=this.getField("Canal").value;
this.getField("Canal").clearItems();
this.getField("Canal").setItems(colonne0);
this.getField("Canal").value=leCanal;
//
function menuCanal(laValeur) {
try {
for (var i=0; i<nbDepart; i++) {
this.getField("Départ."+i).clearItems();
this.getField("Arrivée."+i).clearItems();
}
if (laValeur!=0) {
var leMenu=laValeur.split(",");
var ind=leMenu[0].substr("Canal ".length);
leMenu[0]=["- Sélectionnez -",0];
for (var i=1; i<leMenu.length; i++) {
leMenu=[leMenu,eval("colonne"+(i+1)+"DA")];
}
for (var i=0; i<nbDepart; i++) {
this.getField("Départ."+i).clearItems();
this.getField("Départ."+i).setItems(leMenu);
}
}
} catch(e) {}
}
//
function menuDepart(ind,laValeur) {
this.getField("Arrivée."+ind).clearItems();
this.getField("Arrivée."+ind).setItems(laValeur.split(","));
}
function menuArrivee(leChamp) {
try {
var ind=leChamp.name.substring(leChamp.name.indexOf(".")+1);
var laTable=this.getField("Départ."+ind).value.split(",");
for (var i=0; i<nbDepart; i++) {
if (i==ind) continue;
for (j=0; j<leChamp.numItems; j++) {
if (this.getField("Départ."+i).getItemAt(this.getField("Départ."+i).currentValueIndices,false)==this.getField("Départ."+ind).getItemAt(this.getField("Départ."+ind).currentValueIndices,false) && this.getField("Arrivée."+i).value==laTable[j]) laTable.splice(j,1);
}
}
var lArrivee=leChamp.value;
leChamp.clearItems();
leChamp.setItems(laTable);
leChamp.value=lArrivee;
} catch(e) {}
}

// Script de touches personnalisé Menu "Canal"
if (!event.willCommit) menuCanal(event.changeEx);

// Script de touches personnalisé Menu "Départ"
if (!event.willCommit) menuDepart(event.target.name.substring(event.target.name.indexOf(".")+1),event.changeEx);

// Ajout Script de touches personnalisé de tous les Menus "Départ"
for (var i=0; i<30; i++) {
this.getField("Départ."+i).setAction("Keystroke","if (!event.willCommit) menuDepart(event.target.name.substring(event.target.name.indexOf(\".\")+1),event.changeEx);");
}

// Souris entrée de tous les Menus "Arrivée"
menuArrivee(event.target);

// Ajout Script Souris entrée de tous les Menus "Arrivée"
for (var i=0; i<30; i++) {
this.getField("Arrivée."+i).setAction("MouseEnter","menuArrivee(event.target);");
}

// Script d'ouverture de page
if (app.viewerType!="Exchange-Pro") this.viewState={overViewMode:2};
this.viewState={overViewMode:5}

// Script Affichage Page 2
var modeles=this.templates;
for (i=0; i<modeles.length; i++) {
if (modeles.name=="page2") {
modeles.hidden=(event.target.value=="Off");
break;
}
}
this.pageNum=0;

@+
😎

Attachments:
You must be logged in to view attached files.