Picklist dans les xPages

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Picklist dans les xPages

Messagepar mike76 » 25 Juin 2010 à 15:23

Bonjour,

Avez-vous une technique pour créer un genre de picklist avec les Xpages ?

J'ai trouvé ce lien :
http://dominoextnd.blogspot.com/2009/05/xpages-how-to-create-view-picklist.html

J'ai téléchargé cet exemple mais j'ai un message d'erreur lorsque ma picklist se ferme.
Dommage ça avait l'air pas mal.

Merci d'avance.
Dernière édition par mike76 le 20 Août 2010 à 10:01, édité 1 fois.
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar mike76 » 25 Juin 2010 à 18:16

j'ai repéré où ça plantait.
dans le bouton "select" dans la "picklist"
le code plante sur cette ligne :
Code : Tout sélectionner
 var doc=database.getDocumentByID(docId);


l'erreur :
Exception
Error while executing JavaScript action expression
Script interpreter error, line=19, col=19: Exception occurred calling method NotesDatabase.getDocumentByID(java.lang.String) null


est-ce que pour vous ça fonctionne ??
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar mike76 » 26 Juin 2010 à 09:57

Voici la base de test en question si vous pouvez tester de votre côté et me dire si ça fonctionne pour vous
merci d'avance
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar mike76 » 26 Juin 2010 à 11:13

Voici le message qui apparaît une fois que j'ai cliqué sur le bouton "OK" de la popup affiché dans mon premier post :

Unexpected runtime error
The runtime has encountered an unexpected error.

Error source
Page Name:/form1.xsp
Control Id: button1
Property: onclick


Exception
Error while executing JavaScript action expression
Script interpreter error, line=20, col=19: Exception occurred calling method NotesDatabase.getDocumentByID(java.lang.String) null

Javascript code


1: function printToLog(stuff) {
2: _dump("\r\nPRINT START\r\n");
3: _dump(stuff);
4: _dump("\r\nPRINT END\r\n");
5: }
6:
7: var database = session.getDatabase(session.getServerName(), "Picklist Example.nsf")
8:
9: var viewPanel=getComponent("viewPanel1"); //get the componet of viewPanel
10: var docIDArray=viewPanel.getSelectedIds(); //get the array of document ids
11:
12: printToLog('got ids')
13:
14: for(i=0;
15: i < docIDArray.length;
16: i++){
17: var docId=docIDArray[i];
18: printToLog(docId)
19:
20: var doc=database.getDocumentByID(docId);
21: printToLog(doc)
22:
23: if(doc != null){
24: var pickthis1 = doc.getItemValueString("listitem")
25: printToLog(pickthis1)
26: }
27:
28:
29: }
30:
31: if(pickthis1 != null){
32: dominoDocument1.replaceItemValue("field1", pickthis1)
33: }
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar mike76 » 26 Juin 2010 à 15:57

j'ai bidouillé des trucs et maintenant ça marche :?

le problème c'est que je ne sais plus ce que j'ai modifié pour que ça fonctionne

pour ceux qui veulent, faites le test avec cette base d'exemple pour voir si ça fonctionne directement chez vous
merci de votre retour
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar bzronan » 19 Août 2010 à 11:04

Bonjour,

J'ai testé la base d'exemple et effectivement pour que cela fonctionne j'ai fait quelques corrections dans le code dans le bouton du popup :

1: function printToLog(stuff) {
2: _dump("\r\nPRINT START\r\n");
3: _dump(stuff);
4: _dump("\r\nPRINT END\r\n");
5: }
6:
7: // var database = session.getDatabase(session.getServerName(), "Picklist Example.nsf") //==> mettre cette ligne en commentaire (inutile pour le reste du code)
8:
9: var viewPanel=getComponent("viewPanel1"); //get the componet of viewPanel
10: var docIDArray=viewPanel.getSelectedIds(); //get the array of document ids
11: var picklist1= new Array() //==> utile si on souhaite récupérer l'ensemble des éléments sélectionnés dans la liste
12: printToLog('got ids')
13:
14: for(i=0;
15: i < docIDArray.length;
16: i++){
17: var docId=docIDArray[i];
18: printToLog(docId)
19:
20: var doc=database.getDocumentByID(docId);
21: printToLog(doc)
22:
23: if(doc != null){
24: pickthis1[i] = doc.getItemValueString("listitem") // permet de remplir le tableau pour retourner toutes les données sélectionnées
25: printToLog(pickthis1)
26: }
27:
28:
29: }
30:
31: if(pickthis1 != null){
32: dominoDocument1.replaceItemValue("field1", pickthis1)
33: }
bzronan
Premier posts
Premier posts
 
Message(s) : 23
Inscrit(e) le : 04 Avr 2006 à 12:16

Messagepar mike76 » 19 Août 2010 à 11:33

merci je vais retester avec tes modifications
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar mike76 » 20 Août 2010 à 10:01

Je viens de tester ton code ça fonctionne maintenant
merci
Code : Tout sélectionner
var viewPanel=getComponent("viewPanel1"); //get the componet of viewPanel
var docIDArray=viewPanel.getSelectedIds(); //get the array of document ids
var picklist1= new Array();
 
for(i=0; i < docIDArray.length; i++){
   var docId=docIDArray[i];
   var doc=database.getDocumentByID(docId);

   if(doc != null)
      picklist1[i] = doc.getItemValueString("listitem");
}

if(picklist1 != null)
   dominoDocument1.replaceItemValue("field1", picklist1);
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar Michael DELIQUE » 20 Août 2010 à 13:15

tips ?
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar mike76 » 20 Août 2010 à 13:18

allez c'est parti je te fais ça
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Multi Select Dialog picker

Messagepar d.bugger » 21 Août 2010 à 13:18

Regarde aussi ici pour un vrai dialog box !
Avatar de l’utilisateur
d.bugger
Modérateur
Modérateur
 
Message(s) : 849
Inscrit(e) le : 15 Juin 2006 à 09:19
Localisation : Drôme, France

Messagepar mike76 » 21 Août 2010 à 13:34

salut,

je viens de regarder ton lien, fort intéressant
c'est un genre de dialoglist, vraiment bien
merci
bon week-end
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar Michael DELIQUE » 21 Août 2010 à 20:20

tiiiiiiiiiips.....
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy


Retour vers Développement