2015-01-11 6 views
1

내 응용 프로그램은 VB의 Windows 양식 응용 프로그램입니다.DataGridViewLinkColumn 서식 지정

내 응용 프로그램에 DataGridView가 있습니다. 일곱 번째 열은 DataGridView를 디자인 할 때 DataGridViewLinkColumn으로 정의됩니다. 내 응용 프로그램은 표에서 링크를 읽고 Grid가 올바르게 표시합니다.

내 사용자가 링크를 보지 못하도록하고 싶습니다. "방문하려면 여기를 클릭하십시오"와 같은 문장을 보길 원하지만 나는 할 수 없습니다.

둘째, 링크를 클릭해도 아무런 변화가 없습니다. CellContentClick 이벤트에서이 문제를 처리해야하지만 기본 브라우저를 링크로 호출하는 방법을 모르겠습니다.

미리 감사드립니다.

답변

0

DataGridViewLinkColumn에는 표시 텍스트와 URL을 구분하는 직접적인 속성이 없습니다.

목표를 달성하려면 CellFormattingCellContentClick의 두 가지 이벤트를 처리해야합니다. 이 이벤트들을 구독하십시오.

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 클래스를 사용, 기본 브라우저에서 링크를 열고 Start 메소드에 인자로 URL을 전달합니다. 코드를 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

고마워요. :) –

+0

@ MetinÇetin, 도와 줘서 다행 :) – Junaith