diff --git a/ToolTipController.md b/ToolTipController.md index f420bab..8d2ad2a 100644 --- a/ToolTipController.md +++ b/ToolTipController.md @@ -7,13 +7,59 @@ Le ToolTipController est un contrôle permettant de gérer l'affichage des infob En voici un apperçu : ToolTip ##### Utilisation du ToolTipController avec un [[Ctrl_XtraGrid|Meta GridView]] -1) Partie Designer +1) **Partie Designer** 1. Déposez via le designer VisualStudio un ToolTipController 2. Allez dans l'onglet des propriétés de votre [[Ctrl_XtraGrid|Meta GridView]] afin d'assigner votre ToolTipController à la propriété **ToolTipController **. ToolTip +2) **Partie code** +L'étape précédente va permettre au ToolTipController de générer un événement lorsque la souris passera sur le [[Ctrl_XtraGrid|Meta GridView]]. +Nous allons maintenant voir comment gérer cette événement afin de définir le texte à afficher dans l'infobulle : +``` vbnet + Private Sub ToolTip_GetActiveObjectInfo(sender As Object, e As ToolTipControllerGetActiveObjectInfoEventArgs) Handles ToolTipController1.GetActiveObjectInfo + Dim info As ToolTipControlInfo = Nothing + If e.SelectedControl Is Ctrl_XtraGrid1 Then + Try + Dim view As GridView = CType(Ctrl_XtraGrid1.GetViewAt(e.ControlMousePosition), GridView) + Dim hi As GridHitInfo = view.CalcHitInfo(e.ControlMousePosition) + Dim ToolTipText_l As String = String.Empty + ' mettre la seconde codition et mettre en variable de classe le texte + If Not hi.InRowCell Then Exit Sub + Dim viewInfo_l As GridViewInfo = CType(GridView1.GetViewInfo, GridViewInfo) + If hi.Column.FieldName.Split("_"c).Count = 2 Then + 'On recupere la date et on l'affiche dans le tooltip + Dim objdp_l As ObjectifDateEffetDataPack = TryCast(GridView1.GetDataRow(hi.RowHandle).Item(hi.Column.FieldName), ObjectifDateEffetDataPack) + If objdp_l IsNot Nothing Then + ToolTipText_l = "Date d'effet : " + objdp_l.DateEffet.ToString("dd/MM/yyyy") + Else 'On la calcule : + Dim year_l As Integer = 0 + If hi.Column.FieldName.Split("_"c)(0) = "AM1" Then + year_l = (Annee_c.AddYears(-1)).Year + ElseIf hi.Column.FieldName.Split("_"c)(0) = "A" Then + year_l = Annee_c.Year + ElseIf hi.Column.FieldName.Split("_"c)(0) = "AP1" Then + year_l = (Annee_c.AddYears(1)).Year + End If + Dim date_l As Date = Utils.GetWeekStartDate(hi.Column.FieldName.Split("_"c)(1), year_l) + ToolTipText_l = "Date d'effet : " + date_l.ToString("dd/MM/yyyy") + End If + Dim Position_l As Object = hi.HitTest.ToString() + hi.RowHandle.ToString() + info = New ToolTipControlInfo(Position_l, ToolTipText_l) + ElseIf hi.Column.FieldName = "LIBELLE" Then + ToolTipText_l = If(GridView1.GetDataRow(hi.RowHandle).Item("DESCRIPTION").ToString = "", "Pas de description", GridView1.GetDataRow(hi.RowHandle).Item("DESCRIPTION").ToString) + Dim Position_l As Object = hi.HitTest.ToString() + hi.RowHandle.ToString() + info = New ToolTipControlInfo(Position_l, ToolTipText_l) + End If + Catch ex As Exception + + Finally + e.Info = info + End Try + End If + End Sub +``` ----- ###### *Si vous avez des sugestions d'ajouts, de corrections, m'en faire part Merci*