2

我有一个未知数量或行和列的数据源。我正在使用设置为自动生成列的网格视图。我需要将每个单元格中的每个项目变成一个链接按钮以发回进行处理。我知道如何动态地将控件添加到已知的行和单元格,但是当我不知道列名时,这很困难。关于如何产生这些结果的任何建议?

4

1 回答 1

3

试试这个作为起点:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        foreach (TableCell cell in e.Row.Cells)
        {
            HyperLink myLink = new HyperLink();
            myLink.NavigateUrl = "somewhere.aspx";
            if (cell.Controls.Count > 0)
            {
                while (cell.Controls.Count > 0)
                {
                    myLink.Controls.Add(cell.Controls[0]);
                }
            }
            else
            {
                myLink.Text = cell.Text;
            }
            cell.Controls.Add(myLink);
        }
    }
}

注意:根据您的标签,我已经用 C# 编写了解决方案,但我注意到您的最后一条评论是在 VB 中。如果您需要我在 VB 中重新发布,请告诉我(在这种情况下,您应该更新标签)。

于 2012-05-07T19:15:04.603 回答