C#根据DataTable中的不同值为asp:DataGrid中的不同行或单元格设置不同的颜色

要根据DataTable中的不同值为asp:DataGrid中的不同行或单元格设置不同的颜色,可以在服务器端代码中根据数据绑定的时机来动态设置样式。以下是一个示例,演示如何根据DataTable中的不同值为asp:DataGrid的不同行设置不同的背景颜色

<asp:DataGrid ID="dataGrid" runat="server" AutoGenerateColumns="False" OnItemDataBound="dataGrid_ItemDataBound">

<Columns>

<asp:BoundColumn DataField="ID" HeaderText="ID" />

<asp:BoundColumn DataField="Name" HeaderText="Name" />

<asp:BoundColumn DataField="Age" HeaderText="Age" />

</Columns>

</asp:DataGrid>

在上面的ASP.NET代码中,我们创建了一个asp:DataGrid,它有三个列:ID、Name和Age。

接下来,在服务器端代码中,可以使用OnItemDataBound事件来为每一行设置不同的颜色。以下是服务器端代码的示例:

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

// 创建一个示例的DataTable

DataTable dt = new DataTable();

dt.Columns.Add("ID", typeof(int));

dt.Columns.Add("Name", typeof(string));

dt.Columns.Add("Age", typeof(int));

// 向DataTable添加一些示例数据

dt.Rows.Add(1, "Alice", 25);

dt.Rows.Add(2, "Bob", 30);

dt.Rows.Add(3, "Charlie", 35);

// 将DataTable绑定到DataGrid

dataGrid.DataSource = dt;

dataGrid.DataBind();

}

}

protected void dataGrid_ItemDataBound(object sender, DataGridItemEventArgs e)

{

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)

{

// 获取当前行的数据

DataRowView rowView = (DataRowView)e.Item.DataItem;

int age = Convert.ToInt32(rowView["Age"]);

// 根据不同的Age值设置不同的颜色

if (age < 30)

{

e.Item.BackColor = System.Drawing.Color.Yellow;

}

else if (age >= 30 && age < 40)

{

e.Item.BackColor = System.Drawing.Color.LightGreen;

}

else

{

e.Item.BackColor = System.Drawing.Color.LightBlue;

}

}

}

相关推荐
转调7 分钟前
每日一练:地下城游戏
开发语言·c++·算法·leetcode
Java探秘者8 分钟前
Maven下载、安装与环境配置详解:从零开始搭建高效Java开发环境
java·开发语言·数据库·spring boot·spring cloud·maven·idea
2303_8120444617 分钟前
Bean,看到P188没看了与maven
java·开发语言
秋夫人19 分钟前
idea 同一个项目不同模块如何设置不同的jdk版本
java·开发语言·intellij-idea
不穿格子衬衫35 分钟前
常用排序算法(下)
c语言·开发语言·数据结构·算法·排序算法·八大排序
萧鼎41 分钟前
Python调试技巧:高效定位与修复问题
服务器·开发语言·python
wdxylb42 分钟前
使用C++的OpenSSL 库实现 AES 加密和解密文件
开发语言·c++·算法
Geek之路1 小时前
QT系统学习篇(1)
开发语言·qt·学习
罗曼蒂克在消亡1 小时前
GraphQL规范
开发语言·graphql
HealthScience1 小时前
怎么将bash(sh)的所有输出保存到log/txt中?
开发语言·bash