我正在研究C#应用程序,它就像一个小型搜索引擎。用户将输入一个单词,程序将返回包含该单词的文件。
我有一个文件路径数组(作为字符串),我希望将这些路径显示为DataGridView
中的链接,这样当用户单击文件名时,文件将被打开。
注意:我正在使用C#Winforms,而不是ASP.net
答案 0 :(得分:4)
我想我的答案是我的问题 我将DataGridViewLinkColumn添加到DataGridView 现在下一步将数据填入datagridview 文件名将显示为链接:
private void button1_Click(object sender, EventArgs e)
{
string[] SS = new string[3];
SS[0] = "C:\\test1.txt";
SS[1] = "C:\\test2.txt";
for (int i = 0; i < SS.Length; i++)
{
dataGridView1.Rows.Add(SS[i]);
}
dataGridView1.Refresh();
}
最后一步: 现在我想在用户点击它时打开该文件 我将使用“CellContentClick”事件,这段代码将实现它:
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
string filepath= (string)dataGridView1.Rows[e.RowIndex].Cells[0].Value;
System.Diagnostics.Process.Start(filepath);
}
答案 1 :(得分:3)
DataGridViewLinkColumn
看起来很有希望。
DataGridViewLinkColumn
DataGridViewLinkColumn
答案 2 :(得分:0)
以下是针对.NET 1.1的几篇文章。 DataGridViewLinkColumn在.NET 2.0及更高版本中。
答案 3 :(得分:0)
也可以使用
从aspx动态添加链接<asp:TemplateColumn>
<HeaderTemplate>
<a>Eamil Address</a>
</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink id="HyperLink1"
Text='<%# DataBinder.Eval(Container.DataItem, "Professor_email") %>'
NavigateUrl='mailto:<%# DataBinder.Eval(Container.DataItem, "Professor_email") %>'
runat="server"/>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox
Text='<%# DataBinder.Eval(Container.DataItem, "Professor_email") %>'
runat="server"/>
</EditItemTemplate>
</asp:TemplateColumn>`