【问题标题】:auto generate hyperlink column for c# gridview为 c# gridview 自动生成超链接列
【发布时间】:2018-05-17 20:53:02
【问题描述】:

我有一个查询,其输出填充了一个网格视图。 gridview 的列不是固定的,即除了第一列其余列数可以变化。

输出表结构大致如下:

    name | week1 | week2
    stu1 | 23    | 0
    stu2 | 45    | 6

列数会有所不同,因为第几周不是静态的。 是否可以在单元格值大于零的单元格中生成超链接?如果可能的话,如何在单击数字并重定向到另一个页面时获取行和列索引以获取详细信息?

【问题讨论】:

  • 显示gridview代码。

标签: c# gridview hyperlink


【解决方案1】:

您可以在 RowDataBound 事件中执行此操作,如 msdn 中所述:GridView.RowDataBound Event

  void CustomersGridView_RowDataBound(Object sender, GridViewRowEventArgs e)
  {
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
      for(var cell in e.Row.Cells)
      {
       int val = 0; 
       if(int.TryParse(cell.Text,out val)
       {
        //you can have hyper link here 
        if(val > 0)
        cell.Text = "<a href='void(0);'>" + cell.Text + "</a>";
       }
      } 

    }
  }

【讨论】:

  • e.Row.Cells[0].Add(new HyperLink(){ Text = "cell.Text"});?
  • @Toshi - 是的,同意,但为什么要创建新类......最好放 html 标签,所以没有对象创建......
  • 对象认证有什么不好?它呈现为&lt;a&gt; - 这种字符串连接方式就像 sql 参数 - 它会导致错误
  • @Toshi - 是的,但是作为开发人员,您在这里知道,如果它的整数比您输入并进行更改,,,但无论如何这一切都取决于开发人员的偏好......如果您喜欢创建超链接不是你喜欢的,我喜欢我喜欢的标签
猜你喜欢
  • 1970-01-01
  • 2011-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-23
  • 2017-11-28
  • 1970-01-01
相关资源
最近更新 更多