2010-09-21 31 views
5

如何爲Winforms DataGrid控件添加超鏈接列?爲Winforms DataGrid控件添加超鏈接列

現在我添加一個字符串列這樣

DataColumn dtCol = new DataColumn(); 
dtCol.DataType = System.Type.GetType("System.String"); 
dtCol.ColumnName = columnName; 
dtCol.ReadOnly = true; 
dtCol.Unique = false; 
dataTable.Columns.Add(dtCol); 

我只需要它是一個超鏈接,而不是一個字符串。我正在使用框架3.5的C#

回答

5

使用DataGridViewLinkColumn

的鏈接顯示設置列並將其添加到DGV ::

DataGridViewLinkColumn links = new DataGridViewLinkColumn(); 
links.UseColumnTextForLinkValue = true; 
links.HeaderText = ColumnName.ReportsTo.ToString(); 
links.DataPropertyName = ColumnName.ReportsTo.ToString(); 
links.ActiveLinkColor = Color.White; 
links.LinkBehavior = LinkBehavior.SystemDefault; 
links.LinkColor = Color.Blue; 
links.TrackVisitedState = true; 
links.VisitedLinkColor = Color.YellowGreen; 

DataGridView1.Columns.Add(links); 

您可能會感興趣的this example,顯示片段上方如何融入一個更完整的例子的例子運行時配置DGV列。

+0

偉大的答案!然而,如果你有一個遺留的DataGrid(就像問題一樣),你可以直接添加DataGridViewLinkColumn到它並使它工作,還是需要重構DataGrid並用DataGridView替換?通常,傳統DataGrid中有很多樣式和自定義工作,必須從頭開始重新實現... – matao 2014-04-11 01:28:56