c# - 如何根据 gridview 中的某些值更改标签的颜色

标签 c# asp.net

我有一个 sqldatasource 和 gridview。

我有两列:

ID | Status
1   Closed
2   Opened
3   Waiting

如何根据 'status' 列中的值更改 gridview View 状态中标签的颜色。

例如,如果单元格中的值为“Closed”,标签颜色将为红色,如果为opened,则它将变为绿色,依此类推。

我考虑过遍历 status 列的所有单元格,如果单元格包含特定值,颜色将会改变。 (在行数据绑定(bind)事件中)。但我没有这样做,因为循环部分让我觉得这个想法不是一个好想法。

最佳答案

使用 GridView 中的 RowDataBound 事件来检查状态。您不需要执行循环,因为正在调用该事件(无论您是否注册)。 需要注意的一件事是,您需要确保查看的是正确的行(页眉、页脚、备用等),所以像这样

void YourGridViewName_RowDataBound(Object sender, GridViewRowEventArgs e)
{

    if(e.Row.RowType == DataControlRowType.DataRow)
    {
       // Do your color change here by accessing the col with e.Row.Cells[column_index].BackColor = 'what ever you want'
    }
}

关于c# - 如何根据 gridview 中的某些值更改标签的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11420794/

相关文章:

javascript - 从下拉列表中更改不同的表(onChange)

c# - 如何在 ASP.NET Page_Load 事件中识别 RadButton 发起的回发?

.net - HttpContext.Current.Session 空项目

asp.net - 无法在 Visual Studio 2012 (IIS Express) 中显示 .svg 文件

c# - asp.net文件上传和文件读取(图片)

c# - 在 C# Windows 应用程序中停止线程应用程序?

c# - 如何生成不寻常但数学上有效的 RSA key ?

C# ASP.NET 页面离开事件?

c# - 如何从内容页面的代码后面更改母版页的背景?

asp.net - 为什么占位符必须小写?