【问题标题】:How to change hyperlink color dynamically in DataGrid in Asp.net如何在 Asp.net 的 DataGrid 中动态更改超链接颜色
【发布时间】:2014-02-17 04:03:59
【问题描述】:

我在 DataGrid 控件中有超链接

我想要做的是我需要动态改变超链接的颜色(根据条件)

类似

如果状态 = 登录,则用户名颜色应为绿色,如果状态 = 退出,则用户名颜色应为红色。

我已尝试关注,但无法获得第一列或文本。

同样,我可以申请除第一个列之外的其余列(用于超链接)。

请帮帮我。

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    你需要在这里纠正两件事:

    1. 细胞索引从 0 开始。你应该有rv.Row.ItemArray[2]rv.Row.ItemArray[3]

    2. 单元格指的是<td>,而不是<a>标签。

    我会用这样的代码切换<td> 的类:

    protected void dgBoundItems(object sender, DataGridItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            DataRowView rv = (DataRowView)e.Item.DataItem;
            if (rv.Row.ItemArray[2].ToString() == "Sign In")
            {
                e.Item.Cells[0].Attributes.Add("class", "signin");
            }
            else
            {
                e.Item.Cells[0].Attributes.Add("class", "signout");
            }
    
        }
    
    }
    

    在我的页面中,我添加了这样的 css 类(在页面头部):

    <head runat="server">
        <title></title>
        <style>
            .signout a:link {
                font-weight:normal;
                color:red;
            }
    
            .signin a:link {
                font-weight:bold;
                color:green;
            }
        </style>
    </head>
    

    它的外观是这样的:

    【讨论】:

      【解决方案2】:

      您可以执行以下操作:

             if (YourConditionOverHere){            
              e.Item.Cells[0].CssClass = HyperLink1.CssClass = "CssStyle2";
                      else
                          e.Item.Cells[0].CssClass  = HyperLink1.CssClass = "CssStyle1";
              //Or you can use 
              //e.Item.Cells[0].BorderColor = System.Drawing.Color.Black;
              //Or
              //e.Item.Cells[0].Color.FromArgb(0x0000aaaa);
      
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-02-23
        • 2016-06-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-10
        • 1970-01-01
        • 2021-05-14
        相关资源
        最近更新 更多