none
tooltip en gridview RRS feed

  • Pregunta

  • Hola, necesito saber que evento podria utilizar para generar un tooltip al pasar el mouse por la columna de una grilla , cabe decir que la informacion del tooltip estaria asociada a una columna de la grilla , (la cual obtengo desde base de datos mediante web service)

    agradezco mucho alguna ayuda

    domingo, 24 de septiembre de 2017 23:56

Respuestas

  • Tienes la propiedad ToolTipText con la que puedes asignar el Tooltip de cada celda

    DataGridView1.Rows(0).Cells(0).ToolTipText = "TootlTip celda 0"
    DataGridView1.Rows(0).Cells(1).ToolTipText = "TootlTip celda 1"

    Si lo que quieres es que cada columna tenga su ToolTip puedes crear un array con los textos de cada uno y asignarlos en el evento CellFormatting:

    Private m_toolTipText() As String = { _
            "ToolTipText de la primera columna", _
            "ToolTipText de la segunda columna", _
            "ToolTipText de la tercera columna", _
            "ToolTipText de la cuarta columna", _
            "ToolTipText de la quinta columna" }

    Private Sub DataGridView1_CellFormatting(sender As Object, e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting

        ' Este evento se ejecuta al pasar el puntero del ratón por una celda del DatGridView
            
        Dim Cell As DataGridViewCell = DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex)

        Cell.ToolTipText = m_toolTipText(e.ColumnIndex)

    End Sub



    Saludos, Javier J

    • Propuesto como respuesta Marcelo PF lunes, 25 de septiembre de 2017 11:59
    • Marcado como respuesta Francisco109 viernes, 29 de septiembre de 2017 14:57
    lunes, 25 de septiembre de 2017 6:57
  • ¿Estamos hablando de un control DataGridView?

    Mira este enlace:

    Manipular filas en el control DataGridView de formularios Windows Forms


    Saludos, Javier J

    jueves, 28 de septiembre de 2017 6:48

Todas las respuestas

  • Tienes la propiedad ToolTipText con la que puedes asignar el Tooltip de cada celda

    DataGridView1.Rows(0).Cells(0).ToolTipText = "TootlTip celda 0"
    DataGridView1.Rows(0).Cells(1).ToolTipText = "TootlTip celda 1"

    Si lo que quieres es que cada columna tenga su ToolTip puedes crear un array con los textos de cada uno y asignarlos en el evento CellFormatting:

    Private m_toolTipText() As String = { _
            "ToolTipText de la primera columna", _
            "ToolTipText de la segunda columna", _
            "ToolTipText de la tercera columna", _
            "ToolTipText de la cuarta columna", _
            "ToolTipText de la quinta columna" }

    Private Sub DataGridView1_CellFormatting(sender As Object, e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting

        ' Este evento se ejecuta al pasar el puntero del ratón por una celda del DatGridView
            
        Dim Cell As DataGridViewCell = DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex)

        Cell.ToolTipText = m_toolTipText(e.ColumnIndex)

    End Sub



    Saludos, Javier J

    • Propuesto como respuesta Marcelo PF lunes, 25 de septiembre de 2017 11:59
    • Marcado como respuesta Francisco109 viernes, 29 de septiembre de 2017 14:57
    lunes, 25 de septiembre de 2017 6:57
  • Tienes la propiedad ToolTipText con la que puedes asignar el Tooltip de cada celda

    DataGridView1.Rows(0).Cells(0).ToolTipText = "TootlTip celda 0"
    DataGridView1.Rows(0).Cells(1).ToolTipText = "TootlTip celda 1"

    Si lo que quieres es que cada columna tenga su ToolTip puedes crear un array con los textos de cada uno y asignarlos en el evento CellFormatting:

    Private m_toolTipText() As String = { _
            "ToolTipText de la primera columna", _
            "ToolTipText de la segunda columna", _
            "ToolTipText de la tercera columna", _
            "ToolTipText de la cuarta columna", _
            "ToolTipText de la quinta columna" }

    Private Sub DataGridView1_CellFormatting(sender As Object, e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting

        ' Este evento se ejecuta al pasar el puntero del ratón por una celda del DatGridView
            
        Dim Cell As DataGridViewCell = DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex)

        Cell.ToolTipText = m_toolTipText(e.ColumnIndex)

    End Sub



    Saludos, Javier J

    Hola , gracias , en el caso planteado de que el tootip no tenga un string por defecto "en duro" si no mas bien obtener el valor dinámico de acuerdo a la columna que esta oculto en la grilla y que contiene informacion desde la base  , tambien serviria la misma estructura? , y la otra consulta es que al implementar el "DataGridView1.Rows(0).Cells(0).ToolTipText = "TootlTip celda 0"" 

    Indica que rows no es un miembro de datagridview..

    Sabéis si se debe a falta de alguna referencia?

    lunes, 25 de septiembre de 2017 20:07
  • La cadena que montes para el texto del Tooltip puede ser la que quiereas.

    Si se trata de crear una cadena con el valor de otra columna en lugar de usar el array que te pongo en el ejemplo genera la cadena directamente:

            

    Private Sub DataGridView1_CellFormatting(sender As Object, e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting

        ' Este evento se ejecuta al pasar el puntero del ratón por una celda del DatGridView

        Dim Cell As DataGridViewCell = DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex)

        ' Por ejemplo para mostrar el valor de la columna 1:

        Cell.ToolTipText = "El texto es ...." & DataGridView1.Rows(e.RowIndex).Cells(1)

    End Sub

    Rows si es miembro de DataGridView no se a que te refieres con la segunda pregunta.


    Saludos, Javier J

    martes, 26 de septiembre de 2017 6:44
  • La cadena que montes para el texto del Tooltip puede ser la que quiereas.

    Si se trata de crear una cadena con el valor de otra columna en lugar de usar el array que te pongo en el ejemplo genera la cadena directamente:

            

    Private Sub DataGridView1_CellFormatting(sender As Object, e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting

        ' Este evento se ejecuta al pasar el puntero del ratón por una celda del DatGridView

        Dim Cell As DataGridViewCell = DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex)

        ' Por ejemplo para mostrar el valor de la columna 1:

        Cell.ToolTipText = "El texto es ...." & DataGridView1.Rows(e.RowIndex).Cells(1)

    End Sub

    Rows si es miembro de DataGridView no se a que te refieres con la segunda pregunta.


    Saludos, Javier J

    Sucede que cuando incluyo esto dentro del proyecto

    "DataGridView1.Rows(0).Cells(0).ToolTipText = "TootlTip celda 0"" 

    Indica que rows no es un miembro de datagridview..

    No se que puede ser 

    Gracias de antemano

    miércoles, 27 de septiembre de 2017 22:12
  • ¿Estamos hablando de un control DataGridView?

    Mira este enlace:

    Manipular filas en el control DataGridView de formularios Windows Forms


    Saludos, Javier J

    jueves, 28 de septiembre de 2017 6:48
  • ¿Estamos hablando de un control DataGridView?

    Mira este enlace:

    Manipular filas en el control DataGridView de formularios Windows Forms


    Saludos, Javier J

    Hola , gracias , tus ideas me sirvieron para construir algo asi... en mi caso era lo que necesitaba

    Private Sub Tooltip_grilla()
            Dim x As Integer
            x = 0
            For x = 0 To Me.Grilla_Datos_Historial.Items.Count - 1
                If Me.Grilla_Datos_Historial.Items(x).Cells(10).Text <> "&nbsp;" Then
                    Me.Grilla_Datos_Historial.Items(x).ToolTip = Me.Grilla_Datos_Historial.Items(x).Cells(10).Text
                Else

                    Me.Grilla_Datos_Historial.Items(x).ToolTip = " "

                End If

            Next
        End Sub

    Muchas gracias por darte el tiempo , vale !

    viernes, 29 de septiembre de 2017 14:56