DataLinkrid中的HyperLinks

时间:2010-03-27 17:54:52

标签: c# .net winforms datagridview

我正在研究C#应用程序,它就像一个小型搜索引擎。用户将输入一个单词,程序将返回包含该单词的文件。

我有一个文件路径数组(作为字符串),我希望将这些路径显示为DataGridView中的链接,这样当用户单击文件名时,文件将被打开。

注意:我正在使用C#Winforms,而不是ASP.net

4 个答案:

答案 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看起来很有希望。

答案 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>`