我有一个datagridview,datagridviewlinkcolumn绑定到我的对象列表中的文本链接。文本链接是文件的链接,文件深埋在网络存储中,形成长链接。有什么方法可以更改链接列的链接显示值,以显示每个完整链接的一部分?即 - 只是文件名本身?
我读过你可以使用相同的标题文本作为链接列的显示值,但我想知道是否所有的显示值都不同。
总而言之,是否可以在链接列中显示文件链接的一部分,而我想要显示的所有部分将是不同的,并且仍然具有指向完整文件路径的实际链接?
答案 0 :(得分:0)
想出来。
不确定是否有更好的方法可以做到这一点,但我添加了一个缩短版本的链接到我的对象,在我的dataGridView1_CellContentClick
事件中,我得到了与行(dataGridView1.Rows[e.RowIndex].DataBoundItem)
相关联的对象,并在返回的对象中的完全限定文件路径上调用System.Diagnostics.Process.Start()
。
答案 1 :(得分:0)
我找到了一种更好的方法来实现这一目标。
首先,在创建DataGridViewLinkColumn
集UseColumnTextForLinkValue = 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