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;

}

}

}

相关推荐
开发小能手-roy33 分钟前
Lambda表达式性能陷阱:避坑指南与JIT编译优化分析
开发语言·python
爱读书的小胖38 分钟前
无偿分享ChatGPT Image 2画图网页与并发绘图python程序【Ai绘图】
开发语言·python·chatgpt
我命由我123451 小时前
Jetpack Room - Room 查询返回列表无需判空、LIKE 关键字
android·java·开发语言·java-ee·android jetpack·android-studio·android runtime
goodluckyaa1 小时前
Warp shuffle函数
开发语言
j7~1 小时前
【C++】STL--Vector容器--拆析解剖Vector的实现以及Vector的底层详解(1)
开发语言·c++·vector·迭代器失效·迭代器的使用
xxwl5851 小时前
Python语言初步认识(1)
开发语言·python·学习
z落落1 小时前
C# FileStream文件流读取文件
开发语言·c#
砍材农夫1 小时前
python环境|conda安装和使用(1)
开发语言·后端·python·conda
星环科技1 小时前
数据标准Agent ,让企业数据说同一种语言
java·开发语言·前端
dadaobusi2 小时前
RISC-V 虚拟化:虚拟机TLB处理
java·开发语言