Установить всплывающую подсказку в «связанном» представлении данных - PullRequest
0 голосов
/ 31 августа 2018

У меня есть DataGridView в VB.Net (.NET Framework 4.0). Я связываю данные с ним через «XXX.DataSource» список экземпляров моего собственного класса для этого представления данных. У моего класса есть открытые свойства, которые автоматически заполнят нужные ячейки строки, потому что я использую механизм привязки.

Теперь у меня есть одна ячейка на строку (= один столбец), где я хочу установить всплывающую подсказку. Содержимое всплывающей подсказки также содержится в моем классе (например, дополнительное свойство, функция и т. Д.).

Как использовать данные связанного объекта для установки всплывающей подсказки в ячейке просмотра данных?

1 Ответ

0 голосов
/ 31 августа 2018

Вы можете использовать DataGridView.CellFormatting Event , чтобы установить 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 и, в зависимости от его значения, устанавливает подсказку для указанного текста. Вы можете установить текст подсказки для ячейки в любую допустимую строку, которая, если я правильно понимаю ваш вопрос, у вас есть свойство в вашем классе, которое содержит текст для подсказки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...