您的位置:首页 > 其它

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

2011-12-08 14:27 344 查看
比如我想把所有状态这一列名字为等待打印的字为红色。或者这个格子为红色。。



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

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: