无法在datagridviewlink列中显示linklabel文本

时间:2012-09-02 16:47:11

标签: c# winforms visual-studio-2010

我有一个但很烦人的问题:

我创建了一个datagridview并将其绑定到数据源。 然后,现在我想添加一个列,该列将显示用户单击的链接。 为了做到这一点,我添加了一个datagridviewlinkcolumn。对于datagrid的每一行,我将该列中单元格的值设置为我想要显示的文本。但它没有显示任何内容所有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,但问题仍然存在。

我无法理解为什么这不起作用。

非常感谢任何帮助,谢谢。

2 个答案:

答案 0 :(得分:1)

要为每个单元格显示相同的链接文本,请将UseColumnTextForLinkValue属性设置为true,并将Text属性设置为所需的链接文本。

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

答案 1 :(得分: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/>

快乐编码.. :)