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;

}

}

}

相关推荐
小羊没烦恼!1 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
神仙别闹1 天前
基于C#+MySQL实现(WinForm)个人聊天室软件
c#
伞伞悦读1 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
C语言小火车1 天前
C/C++ 为什么需要编译器?
开发语言·c++
霍霍的袁1 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
kybs19911 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
孙启超1 天前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust
此生决int1 天前
深入理解C++系列(20)——C++11(下)
开发语言·c++
CoderYanger1 天前
A.每日一题:835. 图像重叠
java·开发语言·程序人生·leetcode·面试·职场和发展·学习方法
伞伞悦读1 天前
【第37期】Python JSON 与配置详解:序列化、反序列化、嵌套结构和配置文件
开发语言·python·json