首页 > 解决方案 > 在“绑定”数据网格视图中设置工具提示

问题描述

我在 VB.Net (.NET Framework 4.0) 中有一个 DataGridView。我通过“XXX.DataSource”将数据绑定到它,我自己的类的实例列表到这个datagridview。我的班级有公共属性,它会自动填充行的正确单元格,因为我正在使用绑定机制。

现在,我每行(=一列)有一个单元格,我想在其中设置工具提示。工具提示文本的内容也在我的类的实例中(例如附加属性、函数等)。

如何使用绑定对象的数据在 datagridview-cell 中设置工具提示?

标签: vb.netdatagridviewbindingtooltip

解决方案


您可以使用DataGridView.CellFormatting 事件来设置DataGridViewCell.ToolTipText 属性。他们的文档提供了如何在 C# 中执行此操作的示例,但在 VB.NET 中应该如下所示:

Private Sub dataGridView1_CellFormatting(ByVal sender As Object, ByVal e As DataGridViewCellFormattingEventArgs)
    If (e.ColumnIndex = Me.dataGridView1.Columns("Rating").Index) AndAlso e.Value IsNot Nothing Then
        Dim cell As DataGridViewCell = Me.dataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex)

        If e.Value.Equals("*") Then
            cell.ToolTipText = "very bad"
        ElseIf e.Value.Equals("**") Then
            cell.ToolTipText = "bad"
        ElseIf e.Value.Equals("***") Then
            cell.ToolTipText = "good"
        ElseIf e.Value.Equals("****") Then
            cell.ToolTipText = "very good"
        End If
    End If
End Sub

这样做是cell从 DataGridViewCellFormattingEventArgs 事件参数中获取,e并根据其值将工具提示设置为指定的文本。您可以将单元格工具提示文本设置为您想要的任何有效字符串,如果我正确理解您的问题,您的类中有一个包含工具提示文本的属性。


推荐阅读