2012-09-02 59 views
0

顯示LinkLabel的文字我有一點點,但相當惱人的問題:不能在datagridviewlinkcolumn

我創建一個DataGridView和其綁定到數據源。 然後現在我想添加一個顯示用戶點擊鏈接的列。 爲了做到這一點,我添加了一個datagridviewlinkcolumn。對於數據網格的每一行,我都將該列中單元格的值設置爲我想要顯示的文本。但它什麼也沒有顯示。所有的datagridlinkcolumn填充「空白文本」。

這裏是我的代碼:

DataGridViewLinkColumn dgvColDeletion = new DataGridViewLinkColumn(); 
dgvColDeletion.Name = "Deletion"; 
dgvColDeletion.HeaderText = ""; 
dgvColDeletion.ReadOnly = false; 
dgvTrainings.Columns.Add(dgvColDeletion); 

foreach (DataGridViewRow row in dgvTrainings.Rows) 
{ 
    row.Cells["Deletion"].Value = "Delete"; 
} 
dgvColDeletion.Update(); 
dgvTrainings.Update(); 

我也試圖與直接設置linklabels或datagridviwlinkcells,但問題仍然存在。

我無法得到任何線索爲什麼這是行不通的。

任何幫助將非常感謝,謝謝。

回答

1

要顯示每個單元格的相同鏈接文本,請將UseColumnTextForLinkValue屬性設置爲true,並將Text屬性設置爲所需的鏈接文本。

DataGridViewLinkColumn dgvColDeletion = new DataGridViewLinkColumn(); 
dgvColDeletion.UseColumnTextForLinkValue = true; 
dgvColDeletion.Text = "Delete"; 
+0

它的工作在這裏,謝謝大家!但是,如何處理點擊鏈接? – guijob

+1

我解決了它。點擊鏈接將觸發CellContentClick事件。 – guijob

0

試試這個。我希望這會對你有所幫助。

DataGridViewLinkColumn dgvColDeletion = new DataGridViewLinkColumn(); 


dgvColDeletion.UseColumnTextForLinkValue = true;<br/> 
       dgvColDeletion.Text = "Delete";<br/> 
       dgvColDeletion.ActiveLinkColor = Color.White;<br/> 
       dgvColDeletion.LinkBehavior = LinkBehavior.SystemDefault;<br/> 
       dgvColDeletion.LinkColor = Color.Blue;<br/> 
       dgvColDeletion.TrackVisitedState = true;<br/> 
       dgvColDeletion.VisitedLinkColor = Color.YellowGreen;<br/> 
       dgvColDeletion.Name = "Delete";<br/> 
       dgvColDeletion.HeaderText = "Delete";<br/> 
       if (grid_shared.Columns.Contains("Delete") == false)<br/> 
       {<br/> 
        dgvColDeletion.Columns.Add(lnkDelete);<br/> 
        dgvColDeletion.Columns["Delete"].Width = 40;<br/> 
       }<br/> 

編碼愉快.. :)