如何更改gridview中任意单元格颜色或者内容。

比如我想把所有状态这一列名字为等待打印的字为红色。或者这个格子为红色。。

首先任意下一个方法;这个只是表面的更改。

 public string GetColor(object value) 
{
if (value.ToString() == "等待打印...")
{
//字体为红色
return "<font color='red'>" + value + "</font>";

//单元格为红色
//return "<div style='background-color: #FF0000'>"+value +"</div>";

//把等待打印...换成任意数字
//return value.ToString() == "任意数字";
}
else
{
return value.ToString();
}
}

然后点击Gridview的向右箭头,选择编辑列,我这里不是模板列

              <asp:BoundField DataField="status" HeaderText="状态"  >
<HeaderStyle Font-Size="9pt" />
</asp:BoundField>

更改为模板列。点击将此字段改为TemplateField。

更改后代码如下:

              <asp:TemplateField HeaderText="状态">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("status") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("status") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Font-Size="9pt" />
</asp:TemplateField>

然后把前面的GetColor加上 如下。并把Bind改为Eval

                <asp:TemplateField HeaderText="状态">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# GetColor(Eval("status")) %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# GetColor(Eval("status")) %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Font-Size="9pt" />
</asp:TemplateField>

这样就实现了开头  等待打印...为红色的样子。

 

 

这个是关于绑定方面的例子。也可以参考这个网址,绑定方面说的很全 http://www.cnblogs.com/xiaobaihome/archive/2011/12/08/2280184.html

posted on 2011-12-08 14:27  小东北  阅读(3018)  评论(0编辑  收藏  举报