【问题标题】:Creating Hyperlink Dynamically in last row of a gridview在gridview的最后一行动态创建超链接
【发布时间】:2018-04-02 20:59:34
【问题描述】:

我试图从数据库中获取值并将其显示在像表格一样的 Gridview 中,问题是,我想制作最后一行,即文件行,以成为可以重定向到其他 web 表单的超链接。我尝试使用下面的代码,但它无法工作,关于如何动态添加超链接的任何线索?我不希望它成为 etc 的标签,因为我不知道数据库中有多少数据,提前致谢。

sqlDr = command.ExecuteReader();
DataTable dataTable = new DataTable();
DataColumn dc = new DataColumn("ID", typeof(string));
DataColumn dc1 = new DataColumn("Name", typeof(string));
DataColumn dc2 = new DataColumn("Extension", typeof(string));
DataColumn dc3 = new DataColumn("File", typeof(string));
dataTable.Columns.Add(dc);
dataTable.Columns.Add(dc1);
dataTable.Columns.Add(dc2);
dataTable.Columns.Add(dc3);

//here
while (sqlDr.Read())
{
    TableCell tc = new TableCell();
    DataRow dr = dataTable.NewRow();
    dr["ID"] = sqlDr["DOCID"].ToString();
    dr["Name"] = sqlDr["FILENAME"].ToString();
    dr["Extension"] = sqlDr["GENERATEDDOCID"].ToString();

    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        HyperLink link = new HyperLink();
        link.ID = sqlDr["DOCID"].ToString();
        link.NavigateUrl = "members.aspx?showLease=";
        e.Row.Cells.Add(link);
    }
    dataTable.Rows.Add(dr);
}

downloadFilesTable.DataSource = dataTable;
downloadFilesTable.DataBind();

con.Close();

【问题讨论】:

    标签: asp.net gridview


    【解决方案1】:

    你可以做这样的事情。循环 GridView 中最后一行的每个单元格并添加一个超链接。

    foreach (TableCell cell in GridView1.Rows[GridView1.Rows.Count -1].Cells)
    {
        HyperLink hl = new HyperLink();
        hl.NavigateUrl = "members.aspx?showLease=" + cell.Text;
        hl.Text = cell.Text;
        cell.Controls.Add(hl);
    }
    

    或者您可以使用 JavaScript 使整行可点击。

    GridView1.Rows[GridView1.Rows.Count - 1].Attributes.Add("onclick", "location.href='/members.aspx?showLease='");
    GridView1.Rows[GridView1.Rows.Count - 1].Attributes.Add("style", "cursor:pointer;");
    

    【讨论】:

    • 我有什么办法可以修改代码并将其添加到 gridview 行的最后一列中吗?谢谢@VDWWD
    • 如果您希望在每一行中都使用它,那么 TemplateField 会容易得多。然后,您可以在该 TemplateField 中添加一个超链接。
    猜你喜欢
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 2016-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多