2010-09-21 13 views
5

Come è possibile aggiungere una colonna di collegamento ipertestuale per un controllo DataGrid di Winforms?Aggiungere una colonna collegamento ipertestuale per un controllo DataGrid di Winforms

In questo momento sto aggiungendo una colonna stringa come questa

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

ho solo bisogno di essere un collegamento ipertestuale invece di una stringa. Sto usando C# con framework 3.5

risposta

5

Utilizzare uno DataGridViewLinkColumn.

Il collegamento mostra un esempio di impostazione della colonna e aggiungerlo 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); 

Probabilmente sarete interessati a this example che mostra come il frammento di codice si inserisce in un esempio più completo di configurazione delle colonne DGV in fase di esecuzione.

+0

ottima risposta! tuttavia, se si dispone di un DataGrid legacy (come nella domanda), è sufficiente aggiungere DataGridViewLinkColumn ad esso e farlo funzionare o sarà necessario rifattorizzare il DataGrid e sostituirlo con un DataGridView? Spesso ci sono molti stili e lavori personalizzati in DataGrid legacy che dovrebbero essere re-implementati da zero ... – matao

Problemi correlati