Link dans une colonne d'une vue

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

Link dans une colonne d'une vue

Messagepar Ahamay » 04 Nov 2009 à 10:38

Hello,

P'tite question toute bête :

En client lourd, y a t'il un moyen pour mettre des liens sur des colonnes de vue ? Genre ce qu'on fait en web avec la propriété "Show Value as link"

Typiquement j'ai des docs avec des infos sur des applications (Base en prod, base en test, en ctlq, template... etc) je souhaiterai faire une vue avec des colonnes contenant un lien (lien base ou lien vue) pointant vers mes différentes bases en question.

Is it possible ?
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar mike76 » 04 Nov 2009 à 10:43

salut,

essaie de jouer sur l'événement Queryopendocument de ta vue
mike76
V.I.P.
V.I.P.
 
Message(s) : 2122
Inscrit(e) le : 12 Oct 2006 à 13:14
Localisation : ROUEN

Messagepar Ahamay » 04 Nov 2009 à 11:32

Bin ouai mais ça limite à un seul lien possible a partir de chaque document.

J'ai une autre solution ceci dit... pour chaque type de base ouvrable, je colle un bouton d'action qui récupère le path correspondant dans le document courrant.

Mais bon, ça m'amuse de chercher ;)

Et puis ma demande est pas délirante.... quand on voit une vue et qu'on sait ce que peut faire notes.
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar Michael DELIQUE » 04 Nov 2009 à 11:36

salut

j'avais cru voir quelque part qu'on pouvait récupérer la colonne de la vue sur laquelle s'effectue le click...
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 Ahamay » 04 Nov 2009 à 12:11

Michael DELIQUE a écrit:j'avais cru voir quelque part ...


Génial, merci Michael..... :lol:

Bon mettons que si le "quelque part" se rappelle à ta mémoire, tu penses à moi ;)
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar Belinou » 04 Nov 2009 à 12:41

Bonjour,

je pense avoir réussi a faire ce que tu souhaite, grâce à:
http://interfacematters.com/2007/08/use ... tions.html

J'ai effectué quelques test, et le résultat est une vue avec deux colonnes, chacune avec une icone cliquable dedans (fonctionne aussi avec du texte seulement...), et le clic ouvre une base différente suivant la colonne.

Voici ce que j'ai fait:
- créer un masque avec 4 champs texte (test_server, test_db, prod_server, prod_db)
- une vue comme indiqué dans le lien en réglant les propriétés de colonnes + modifier le nom de la colonne dans le derniere onglet (qui va servir a retrouver sur quoi on clique)
- mettre le code indiqué dans le Inviewedit, voici le miens pour test:

Code : Tout sélectionner
Sub Inviewedit(Source As Notesuiview, Requesttype As Integer, Colprogname As Variant, Columnvalue As Variant, Continue As Variant)
   Dim doc As NotesDocument
   Dim caret As String
   Dim workspace As New NotesUIWorkspace
   Dim server As String
   Dim database As String
   
   caret = Source.CaretNoteID
   If caret = "0" Then Exit Sub
   
   Set db = Source.View.Parent
   Set doc = db.GetDocumentByID(caret)
   
   If Colprogname(0) <> "" Then
      server = doc.GetItemValue(Colprogname(0)+"_server")(0)
      database = doc.GetItemValue(Colprogname(0)+"_db")(0)
      Call workspace.OpenDatabase(server , database, "", "", False, False )
   End If
End Sub


Testé sur un Notes 6.5, après t'as de quoi t'amuser je crois :)

A+
Benoit.
Belinou
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 7
Inscrit(e) le : 29 Sep 2009 à 14:37

Messagepar Ahamay » 04 Nov 2009 à 15:51

:app006: :danse004: :app006:


Terrib' ... génial....


:merci: :merci: :merci:
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar Michael DELIQUE » 04 Nov 2009 à 15:52

je savais bien que je l'avais vu !
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 Ahamay » 04 Nov 2009 à 16:09

Par contre, comment tu fais pour afficher une icone et recupérer la chaine correspondant au path de la base a ouvrir ?
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar Ahamay » 04 Nov 2009 à 16:21

J'ai trouvé :)

faut juste jouer avec plusieurs colonne.... d'ou l'interet de l'alias de colonne :)
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar Ahamay » 04 Nov 2009 à 17:45

Par contre :

1) je trouve ça moyen de devoir utiliser 2 colonnes possédant le mème Alias, mais bon.

2) un truc délirant : si je colle une formule conditionnelle dans la colonne affichant l'icone, cela ne fonctionne plus, je m'explique

Dans certain doc, j'ai des infos (path) non renseignées... donc, naturellement, je voudrait ne pas afficher l'icone si tel est le cas....

Bin @If(PrdPath="";"";20) fout tout en l'air alors que si j'ai juste 20 dans la colonne, tout baigne !
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar Belinou » 04 Nov 2009 à 19:53

Ahamay a écrit:1) je trouve ça moyen de devoir utiliser 2 colonnes possédant le mème Alias, mais bon.

Bin, pas besoin d'avoir le même nom, mes deux colonnes se nomment différement (test et prod dans mon exemple)

Ahamay a écrit:2) un truc délirant : si je colle une formule conditionnelle dans la colonne affichant l'icone, cela ne fonctionne plus, je m'explique

Dans certain doc, j'ai des infos (path) non renseignées... donc, naturellement, je voudrait ne pas afficher l'icone si tel est le cas....

Bin @If(PrdPath="";"";20) fout tout en l'air alors que si j'ai juste 20 dans la colonne, tout baigne !

Je n'ai pas testé, mais c'est fort possible oui. Pourquoi ne laisse tu pas l'icone donc, et rajouter ce test dans le code Inviewedit qui met un Msgbox "Chemin introuvable..." puis ne pas continuer l'execution, par exemple
Belinou
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 7
Inscrit(e) le : 29 Sep 2009 à 14:37

Messagepar Ahamay » 05 Nov 2009 à 09:09

Hello @ll

1) les noms de colonne sont différents, mais pour que l'icone récupère la valeur du Path il faut bien que les alias (Dernier onglet des propriétés) soient identiques non ?

2) Bin oui c'est comme ça que je contourne pour l'instant, mais ça m'enerve, je pige pas pourquoi cette simple condition fout tout en l'air !

Je continue de chercher...


Bonne journée :)
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar Ahamay » 05 Nov 2009 à 09:17

Ok j'ai capté pour les alias.... oubliez...
Désolé..... ca doit ètre mon age avancé lol
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar Belinou » 05 Nov 2009 à 11:27

Oui j'ai remarqué quelques comportements bizarres avec une formule dans la colonne. Il faut bien faire attention à ce que tous les noms soient bien corrects partout.

Dans mon cas et pour exemple:
Nom des colonnes (dernier onglet): prod testa
Nom des champs: prod_server prod_db testa_server testa_db
Formule de colonne: @If( prod_db=""|prod_server="" ; "" ; 21 )
Et voici le Inviewedit:
Code : Tout sélectionner
Sub Inviewedit(Source As Notesuiview, Requesttype As Integer, Colprogname As Variant, Columnvalue As Variant, Continue As Variant)
   Dim doc As NotesDocument
   Dim caret As String
   Dim workspace As New NotesUIWorkspace
   Dim server As String
   Dim database As String
   
   caret = Source.CaretNoteID
   If caret = "0" Then Exit Sub
   Set db = Source.View.Parent
   Set doc = db.GetDocumentByID(caret)
   
   If Colprogname(0) <> "" Then
      server = doc.GetItemValue(Colprogname(0)+"_server")(0)
      database = doc.GetItemValue(Colprogname(0)+"_db")(0)
      If server <> "" And database <> "" Then
         Call workspace.OpenDatabase(server , database, "", "", False, False )
      Else
         Msgbox "Ya rien à ouvrir..."
      End If
   End If
End Sub


Colprogname(0) correspond au nom de la colonne et à la 1ere partie de mes champs.
J'ai donc des documents avec base de prod et test, d'autre sans... et ça fonctionne et ça tente d'ouvrir la base sur le serveur précisé.
Je peux t'envoyer ma base de test si tu veux voir.
Belinou
Découvre Dominoarea
Découvre Dominoarea
 
Message(s) : 7
Inscrit(e) le : 29 Sep 2009 à 14:37

Suivant

Retour vers Développement

cron