2010-09-21 27 views
5

¿Cómo puedo agregar una columna de hipervínculo para un control Winforms DataGrid?Agregue una columna de hipervínculo para un control Winforms DataGrid

Ahora estoy añadiendo una columna de cadena como esta

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

Sólo necesito que sea un hipervínculo en lugar de una cadena. Estoy usando C# con el marco 3.5

Respuesta

5

Utilice un DataGridViewLinkColumn.

El enlace muestra un ejemplo de configuración de la columna y agregarlo a un 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); 

Probablemente va a estar interesado en this example que muestra cómo el fragmento anterior se ajusta a un ejemplo más completo de configurando columnas DGV en tiempo de ejecución.

+0

¡excelente respuesta! sin embargo, si tiene un DataGrid heredado (como en la pregunta), ¿puede simplemente agregar DataGridViewLinkColumn y hacer que funcione o tendrá que refactorizar el DataGrid y reemplazarlo con un DataGridView? A menudo hay muchos estilos y trabajos personalizados en DataGrid heredados que deberían ser reimplementados desde cero ... – matao

Cuestiones relacionadas