Page 1 sur 1

Créer des liens dans les colonnes d'une vue

MessagePublié: 05 Nov 2009 à 14:21
par Ahamay
Imaginons un Form contenant 3 champs :

ApplTitle (Text)
ApplProdPath (Text)
ApplTemplatePath (Text)


AppTitle         ApplProdPath                          ApplTemplatePath
Appl1          \Prd\DossierX\Appl1.nsf           \Template\Appl1.ntf
Appl2          \Prd\DossierX\Appl2.nsf           \Template\Appl2.ntf
Appl3          \Prd\DossierX\Appl3.nsf           \Template\Appl3.ntf
Appl4          \Prd\DossierX\Appl4.nsf           \Template\Appl4.ntf


L’objectif est de faire une vue affichant pour chaque document, le titre de l’appli, une icòne correspondant au path de la base en prod, et une autre icône pour le path du Template.
Un clic sur l’icône Prod d’une appli affichera le path correspondant dans une boite de dialogue, un clic sur l’icône Template affichera le path du template en question.

Bien sur, on pourra - et c’est initialement le but de j’avais – en lieu et place d’afficher le path, l’tiliser pour ouvrir la base en question.


La vue
Les Colonnes :

Col1 :
Title : Appli
Display : Field -> ApplTitle

Col2 :
Title : Open Db Prod
Display : Formula : 26
Properties (Onglet 1) : Display value as icon
Properties (Onglet 6) : Programmatic Use / Name : ApplProdPath (le Nom du champ correspondent à la valeur à récuérer – Dans notre cas, le path vers la Base en prod)


Col3 :
Title : Open Template
Display : Formula : 20
Properties (Onglet 1) : Display value as icon
Properties (Onglet 6) : Programmatic Use / Name : ApplTemplatePath


View Properties :Evenment : InViewEdit

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 = "Srv02/Srv/Dom1"
database = doc.GetItemValue(Colprogname(0))(0)

If database = "" Then
Msgbox "le path de cette base n'est pas renseigné :o("
Else
Msgbox database
%REM
Ou, pour ouvrir directement la base….
Call workspace.OpenDatabase(server , database, "", "", False, False )
% END REM


End If

End If

End Sub