나는 이것을 달성하는 더 좋은 방법을 찾았습니다. 만드는 동안
첫째, DataGridViewLinkColumn
는 UseColumnTextForLinkValue = false
가 전체 경로 네트워크 스토리지에 깊이 묻혀있는 파일의에 DataGridViewLinkColumn
의 Text
속성을 설정 설정합니다.
이제 DataGridView
의 CellFormatting
이벤트를 처리하고 CellContentClick
을 처리 할 필요가 링크의 클릭에 모든 작업을 수행하려면 링크
private void dataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (excelDataGridView.Columns[e.ColumnIndex].Name.Equals("Links"))
{
if(e.Value != null)
e.Value = Path.GetFileName(e.Value.ToString()); //change the display name for Hyperlink
}
}
의 표시 이름에 셀의 Value
속성을 설정 DataGridView
의 이벤트는 다음과 같습니다.
private void dataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if(e.ColumnIndex == excelDataGridView.Columns["Links"].Index) //Handling of HyperLink Click
{
string cellValue = excelDataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
Process.Start(cellValue); //assumes the link points to the text file and opens it in the default text editor
}
}
수정 사항을 축하합니다! 가능한 경우 답변을 '수락'으로 표시하여 다른 사람이 귀하의 질문에 답변하고 귀하의 솔루션에서 배울 수 있도록하십시오. 건배 ~ –
@ 존 : 이것을 달성하기 위해 다른 방법을 찾았습니까? –