ASP.NET GridView 按条件改变行颜色。

比如有一行的“目前状态”这个字段的数据等于“可以生产”,就为蓝色,否则就为红色!万分感谢大家哈!... 比如有一行的“目前状态”这个字段的数据等于“可以生产”,就为蓝色,否则就为红色!

万分感谢大家哈!
展开
 我来答
zhubin_wyn
2011-10-22 · TA获得超过175个赞
知道小有建树答主
回答量:216
采纳率:100%
帮助的人:256万
展开全部
这个用Jqueary处理很简单。(记得先导入: <script src="../JScript/jquery-1.4.1.min.js" type="text/javascript"></script>)
我给你一个我在项目中用到的例子:
注释:MainInfo是GridView的名字,vv是目前状态绑定列设的一个属性(确保唯一)
目前状态绑定列写法<td align="center" vv='<%#Eval("status") %>'>

</td>
//控制单元格颜色变化
$(function () {
$("#MainInfo").find("td").each(function (i) {
if ($.trim($(this).attr("vv")) =="可以生产"){
$(this).css("background-color", "blue");
}else{
$(this).css("background-color", "red");
}
});
});
习惯受伤
2011-10-22 · TA获得超过446个赞
知道小有建树答主
回答量:459
采纳率:0%
帮助的人:189万
展开全部
最完美的方法是:绑定后过滤。
代码大概如下,纯属手写,不保证完全正确、
//获取数据绑定。。。
GridView1.DataBind();
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
DataRowView mydrv = myds.Tables["mrhuo工作室"].DefaultView[i];
string status = Convert.ToString(mydrv["目前状态"]);
if (status.Trim()=="可以生产")
{
GridView1.Rows[i].BackColor = System.Drawing.Color.Red;
}
else
{
GridView1.Rows[i].BackColor = System.Drawing.Color.Blue;
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
网络审判官
2011-10-22 · TA获得超过328个赞
知道小有建树答主
回答量:147
采纳率:100%
帮助的人:153万
展开全部
在GridView 绑定时的方法里面判断
//去掉空行
if(e.Row.cell[i].ToString()=="可以生产")
{
//do sth...
}

或者前台写
<div color='<%# Equals(Eval("目前状态"),"可以生产") ? "red" : "blue"%>' >
可以生产
</div>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我怀念的ren
2011-10-22 · TA获得超过116个赞
知道小有建树答主
回答量:210
采纳率:0%
帮助的人:126万
展开全部
你可以在cs代码部分里循环遍历“目前状态”这列的数据,如果等于“可以生产”,就把该单元格的字体颜色或者背景设为蓝色
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wente3180
2011-10-22 · 超过12用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:33.5万
展开全部
行绑定事件里面判断“目前状态”==“可以生产”然后改变样式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式