【问题标题】:Highligh a cell in a gridview突出显示网格视图中的单元格
【发布时间】:2010-01-02 07:05:41
【问题描述】:

我有一个下拉列表,其中包含两个值状态-“待处理”和“已完成”。当我进入一项新任务时,我的状态是“待定”,一旦我完成它,我会将我的状态更改为“已完成”。我已经在gridview中显示了它。我更新为“已完成”的单元格必须突出显示,状态列中的剩余单元格,即“待处理”必须是另一种颜色

【问题讨论】:

    标签: asp.net gridview asp.net-ajax


    【解决方案1】:

    如果在这种情况下可以进行服务器端回调,则订阅 OnRowDataBound-Event 并查找特定行并将标签的 css 类设置为不同的值。您可以使用带有标签的 TemplateColumn。

    例如

    protected void grid_RowDataBound(object sender, GridViewRowEventArgs e)  
    {  
      if(e.Row.RowType == RowType.DataRow)  
      {  
        YourObject _item = (YourObject)e.Row.DataItem;
        Literal _litFromTemplate = (Literal)e.Row.FindControl("litFromTemplate");
        if(_item.Equals(anotherItem))  // or check for any other condition, like _item.Foo == 123
        {  
          _litFromTemplate.CssClass = 'highlightingMe';  
        }  
        else  
        {  
          _litFromTemplate.CssClass = 'normalcssclass';  
         }  
       }  
    }  
    

    【讨论】: