使用gridview显示从数据集中获取的数据,看起来像
NAME | GP | ORD_GP | EXP | TOTAL GP | TARGET
a 206 48 -239 15 1600
b 0 27 0 27 1520
TOTAL 206 75 -239 42 3120
我正在使用TemplateField,但这只能格式化值。
<asp:TemplateField HeaderText="%" ItemStyle-BackColor="Yellow" >
<ItemTemplate>
<span class='<%# double.Parse(Eval("PERC_OF_TARGET").ToString()) >= 100 ? "PERC_MoreThan" : "PERC_LessThan" %>'>
<%# Eval("PERC_OF_TARGET")%> %
</span>
</ItemTemplate>
</asp:TemplateField>
然而,我想要做的是格式化最后一行(TOTAL),以便背景颜色为绿色。
还有一种方法,我可以评估每个项目,如果它等于0不显示任何东西,只是留空?
答案 0 :(得分:1)
使网格视图的最后一行变为绿色:
int r = GridView.Rows.Count;
r--;
GridView.Rows[r].BackColor = System.Drawing.Color.Green;
并评估每个单元格的值,如果其为0,则将其设为空白:
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dataTable.Columns.Count; j++)
{
if (Convert.ToInt32(dt.Rows[i][j]) == 0)
{
dt.Rows[i][j] = "";
}
}
}
希望这就是你所需要的!
答案 1 :(得分:1)
protected void grdData_PreRender(object sender, EventArgs e)
{
grdData.Rows[grdData.Rows.Count - 1].BackColor = System.Drawing.Color.Red;
}