2015-01-11 1 views
1

Мое приложение - приложение для форм Windows в VB.Форматирование DataGridViewLinkColumn

У меня есть DataGridView в моем приложении. Седьмой столбец определяется как DataGridViewLinkColumn, когда я создал DataGridView. Мое приложение читает ссылку из таблицы, и Grid правильно отображает ее.

Я не хочу, чтобы мой пользователь видел ссылку, я хочу, чтобы они увидели предложение типа «Нажмите здесь, чтобы посетить», но я не мог этого сделать.

Во-вторых, когда я нажимаю ссылку, ничего не происходит. Я знаю, что мне нужно обрабатывать это в событии CellContentClick, но я не знаю, как вызвать браузер по умолчанию, направленный на ссылку.

Заранее спасибо.

ответ

0

В DataGridViewLinkColumn нет прямого свойства, которое отделяет отображаемый текст и URL.

Для достижения вашей цели необходимо обработать два события: CellFormatting и CellContentClick. Подпишитесь на эти события.

В обработчике событий CellFormatting измените форматированное значение на Click here to visit. Флаг FormattingApplied должен быть установлен True, так как это предотвращает дальнейшее форматирование значения.

Private Sub dataGridView1_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs) 
    If e.ColumnIndex = 'link column index Then 
     e.Value = "Click here to visit"; 
     e.FormattingApplied = True; 
    End If 
End Sub 

Чтобы открыть ссылку в браузере по умолчанию, используйте Process класс и передать URL в качестве аргумента метода Start. Поместите код в обработчик события CellContentClick.

Private Sub dataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) 
    If e.ColumnIndex = 'link column index Then 
     Process.Start(dataGridView1(e.ColumnIndex, e.RowIndex).Value.ToString()); 
    End If 
End Sub 
+0

Большое спасибо Junaith. :) –

+0

@ Метинбетен, рад помочь :) – Junaith