我们经常使用用于类似 Repeater、DataList 或 DataGrid 的模板列表,有时候需要根据不同状态,显示不同字帖颜色,以提示用户.
例如:在datagrid中,紧急显示红色,一般显示黑色,复杂显示蓝色
<asp:TemplateColumn HeaderText="紧急程度">
<ItemTemplate>
<font color='<%#
(string)DataBinder.Eval(Container.DataItem,"IdeaStateName")=="紧急"?"#FF0000":((string)DataBinder.Eval(Container.DataItem,"Id
eaStateName")=="一般")?"#000000":"#000080" %>'>
<%# (string)DataBinder.Eval(Container.DataItem,"IdeaStateName") %>
</font>
</ItemTemplate>
</asp:TemplateColumn>
这种方式有个要求,就是必须知道颜色的代码数值
如果这样<%# (string)DataBinder.Eval(Container.DataItem,"IdeaStateName")=="紧急"?"RED":"Blue" %>页面会发生异常
那我们有没有在不知道颜色的代码数值的情况下的数据绑定解决办法呢?
<asp:TemplateColumn HeaderText="是否阅读">
<ItemTemplate>
<div ><%# ((bool)DataBinder.Eval(Container.DataItem,"IsRead"))?"<font>YES</font>":"<font color=red>NO</font>" %>
</div>
</ItemTemplate>
</asp:TemplateColumn>
未阅读的显示红色的NO,阅读过的显示黑色的YES(本系统默认黑色)
例如:在datagrid中,紧急显示红色,一般显示黑色,复杂显示蓝色
<asp:TemplateColumn HeaderText="紧急程度">
<ItemTemplate>
<font color='<%#
(string)DataBinder.Eval(Container.DataItem,"IdeaStateName")=="紧急"?"#FF0000":((string)DataBinder.Eval(Container.DataItem,"Id
eaStateName")=="一般")?"#000000":"#000080" %>'>
<%# (string)DataBinder.Eval(Container.DataItem,"IdeaStateName") %>
</font>
</ItemTemplate>
</asp:TemplateColumn>
这种方式有个要求,就是必须知道颜色的代码数值
如果这样<%# (string)DataBinder.Eval(Container.DataItem,"IdeaStateName")=="紧急"?"RED":"Blue" %>页面会发生异常
那我们有没有在不知道颜色的代码数值的情况下的数据绑定解决办法呢?
<asp:TemplateColumn HeaderText="是否阅读">
<ItemTemplate>
<div ><%# ((bool)DataBinder.Eval(Container.DataItem,"IsRead"))?"<font>YES</font>":"<font color=red>NO</font>" %>
</div>
</ItemTemplate>
</asp:TemplateColumn>
未阅读的显示红色的NO,阅读过的显示黑色的YES(本系统默认黑色)
Datagrid不同状态下颜色显示及数据绑定问题
博客主要讨论在类似 Repeater、DataList 或 DataGrid 的模板列表中,根据不同状态显示不同字体颜色以提示用户的问题。以 datagrid 为例,展示了不同紧急程度显示不同颜色的代码,还提及数据绑定中不知颜色代码数值时的异常及解决思路,以及根据是否阅读显示不同颜色的示例。
4171

被折叠的 条评论
为什么被折叠?



