要根据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"]);文章来源:https://www.toymoban.com/news/detail-699274.html
// 根据不同的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;
}
}
}
文章来源地址https://www.toymoban.com/news/detail-699274.html
到了这里,关于C#根据DataTable中的不同值为asp:DataGrid中的不同行或单元格设置不同的颜色的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!