2012-05-07 31 views
2

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

+0

[Stack Overflow不是您的免费促销网站™](http://meta.stackexchange.com/a/128560) – zimdanen

+0

http://forums.asp.net/t/1149071.aspx/1 – ray

+0

Ray i知道如何在知道列名时添加模板和控件。我的问题是如何将控件添加到单元格或每个单元格而不知道列名称。我如何遍历所有单元格以向它们添加链接按钮? – thomasfagin

回答

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中重新发布(在这种情况下,你应该更新标签)。

+0

你摇滚,做到了。我如何评价你? – thomasfagin

+0

点击答案左边的数字上方的^箭头以显示这是一个很好的答案,然后单击数字和箭头下面的复选标记以标记为接受的答案。 – zimdanen

相关问题