Page 1 sur 2

web selection dans une vue

MessagePublié: 28 Mai 2008 à 15:13
par Baxter
bonjour

je désir sélectionner plusieur document dans une vue afficher dans un masque viewtemplate

et je ne sais pas comment faire !

je peut mettre des case a cocher pour chaque ligne mais je ne sais pas comment faire pour passer l'ensemble des universalid sans saturer l'url (si j'en ai un grand nombre)

MessagePublié: 28 Mai 2008 à 15:16
par amahi
Si tu passe par un agent, au niveau de ton formulaire utilise POST plutot que GET. Ensuite tu devra travailler sur le documentContexte.

MessagePublié: 28 Mai 2008 à 15:22
par Baxter
euh... je fais comment ?

MessagePublié: 28 Mai 2008 à 20:37
par roubech
tu peux par exemple entourer ta vue de code html du style
Code : Tout sélectionner
<form method=post action=MonAgentQuiTraiteLaSelection?OpenAgent>
      ta vue intégrée avec la case à cochée SelectedDoc
</form>

et dans ton agent, un truc du genre
Code : Tout sélectionner
set doc = session.documentContext
forall unid in doc.SelectedDoc
  set docToProcess = db.getDocumentByUNID(unid)
  ...
end forall


Edit : je me doutais bien qu'on en avait déjà parlé :
http://www.dominoarea.org/forum/viewtopic.php?t=20240
http://www.dominoarea.org/forum/viewtopic.php?t=20249
PS : penser au moteur de recherche

MessagePublié: 29 Mai 2008 à 09:14
par Baxter
Merci pour les liens, j'avais cherché mais pas trouvé !

j'espere que je vais pouvoir en sortir quelque chose car dans mon cas ma vue est entierement HTML donc pas de selection au sens notes du terme

MessagePublié: 29 Mai 2008 à 10:10
par amahi
Le "truc" c'est de créer par exemple une case a coché en HTML avec pour name"tonChamp" qui est le meme pour toute les lignes.
Ensuite du cote domino tu n'as qu a acceder a "tonChamp" et toute les case coché seront recuperer.

MessagePublié: 29 Mai 2008 à 12:04
par Baxter
merci amahi

c'est ce que j'ai fais, ça marche bien, mais c'est pour lancer l'agent de suppression

je le lance en boucle (300 documents a supprimer = 300 lancement de l'agent) j'aime pas trop j'aimerais pouvoir passer la liste des universalid en une seule fois

a premiere vue c'est faisable en post (parceque en get la taille de l'url ets limité) le probleme c'est que je ne sais pas comment faire

MessagePublié: 29 Mai 2008 à 12:24
par gloug
Il faudrait essayer en créant un champ caché dans ta page. Lors du submit, tu l'alimentes avec les id des documents cochés.
Tu récupère le champ dans ton traitement.

MessagePublié: 29 Mai 2008 à 12:31
par amahi
Je me suis mal exprimé.
Lorsque dans ton agent tu recupere le document contexte, tu ne travaille plus avec le query_string mais avec le Request_Content.
Le request_content contient toute les info, a toi de le traiter comme il faut.

MessagePublié: 29 Mai 2008 à 12:52
par Baxter
ok merci pour l'info, mais je nesais toujours pas comment lancer mon agent en post et non en get !

de ce coté là je suis un peu perdu

MessagePublié: 29 Mai 2008 à 12:55
par roubech
si tu suis bien les différents liens te disent tous plus ou moins la même chose. Il te faut juste adapter au fait qu'au lieu de laisser Domino générer les cases à cocher, tu le fait toi-même. Ca change peut-être le nom du champ, mais ça ne change pas le reste pour ce qui est du post des données au serveur, tu lancement de l'agent via leWebQuerySave puis la récupération des unid dans l'agent ...

MessagePublié: 29 Mai 2008 à 12:57
par amahi
Une autre option pour lancer l'agent via un post
tu met la balise Form avec methode="tonagent?openagent" et sur ton bouton plutot que de faire un appel a l agent tu fait un form.submit.

MessagePublié: 29 Mai 2008 à 13:18
par Baxter
ok

ce qui me fait peur, c'est que le submit enregistre le masque bien qu'avec un champ saveoption ça l'empreche je pense

MessagePublié: 29 Mai 2008 à 13:23
par roubech
oui le SaveOption est là pour ça
sinon, comme l'a dit amahi et comme je l'avais dit avant de retrouver les liens ... tu peux coder ton propre tag form avec l'appel de l'agent dans l'e parametre action ... c'est un peu moins dans " l'esprit Notes "

MessagePublié: 30 Mai 2008 à 09:17
par Baxter
merci

mais comment coder mon propre tag pour appeleer l'agent ?