更改DataGridViewLinkColumn的显示值

时间:2012-03-29 13:04:55

标签: c# c#-4.0

我有一个datagridview,datagridviewlinkcolumn绑定到我的对象列表中的文本链接。文本链接是文件的链接,文件深埋在网络存储中,形成长链接。有什么方法可以更改链接列的链接显示值,以显示每个完整链接的一部分?即 - 只是文件名本身?

我读过你可以使用相同的标题文本作为链接列的显示值,但我想知道是否所有的显示值都不同。

总而言之,是否可以在链接列中显示文件链接的一部分,而我想要显示的所有部分将是不同的,并且仍然具有指向完整文件路径的实际链接?

2 个答案:

答案 0 :(得分:0)

想出来。

不确定是否有更好的方法可以做到这一点,但我添加了一个缩短版本的链接到我的对象,在我的dataGridView1_CellContentClick事件中,我得到了与行(dataGridView1.Rows[e.RowIndex].DataBoundItem)相关联的对象,并在返回的对象中的完全限定文件路径上调用System.Diagnostics.Process.Start()

答案 1 :(得分:0)

我找到了一种更好的方法来实现这一目标。

首先,在创建DataGridViewLinkColumnUseColumnTextForLinkValue = false

Text的{​​{1}}属性设置为深埋在网络存储中的文件的完整路径

现在,处理DataGridViewLinkColumn的{​​{1}}事件,并将单元格的CellFormatting属性设置为链接的显示名称

DataGridView

要点击您需要处理Value private void dataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (excelDataGridView.Columns[e.ColumnIndex].Name.Equals("Links")) { if(e.Value != null) e.Value = Path.GetFileName(e.Value.ToString()); //change the display name for Hyperlink } } 事件的链接,请执行以下操作

CellContentClick