extjs gridPanel中根据某列的信息条件,设置行的背景色如何实现?
extjs的gridPanel中查询20条数据,gridPanel有一列是status(状态),要求:说明:
(结束日期《yyyy-mm-dd hh:mm:ss》) :endTime
当前日期(yyyy-mm-dd hh:mm:ss):nowTime
status为8(closed)的数据行的背景色为red;
status为5(Working) && endTime>nowTime的数据行的背景色为绿色;
status为5Working)&& endTime<=nowTime的数据行背景色为棕色;
status为2(opened) && endTime>nowTime时,数据行的背景色都为蓝色;
status为2(opened)并且endTime<=nowTime 时,数据行的背景色都为黄色;
这该如何实现的好啊,请高手帮帮忙 指点指点啊 急~~~~谢谢了 --------------------编程问答-------------------- 可以参考一下这个!我想应该没问题的!
function Alert() {
var girdcount = 0;
var count = InventoryStore.getCount(); //获取store的记录行数
var records = InventoryStore.getRange(0, count); //获得遍历条件,getRange(start,end)
for (var i = 0; i < records.length; i++) {//循环读取store中的数据
var record = records[i];
var data = record.get('DayStore'); //获得指定列的值
var max = record.get('MaxStore');
var min = record.get('MinStore');
if (data <= min) {
gridcount = i;
InventoryGrid.getView().getRow(gridcount).style.backgroundColor = '#FFFF00';
}
}
}
InventoryGrid.getStore().on('load', function () {
Alert();
});
--------------------编程问答-------------------- 或者这种方式,API里也有说的!比之前的好一些,之前的有个Bug,暂时还不知道怎么消除!
希望对你有帮助
InventoryGrid = new Ext.grid.GridPanel({
id: "InventoryGrid",
store: InventoryStore,
sm: sm,
cm: cm,
loadMask: true,
autoScroll: true,
stripeRows: true, //采取grid自动渲染,行列交错!
columnLines: true,
border: false,
viewConfig: {
//forceFit: true,
columnsText: "显示/隐藏列",
sortAscText: "正序排列",
sortDescText: "倒序排列",
/*根据条件改变要求行的背景色!
需要在主页面新建一个css例如:
<style type="text/css">
.my_row_style table{ background:Yellow}
</style>
然后用下面的方法便可以实现了!见API实例
*/
getRowClass: function (record, rowIndex, rowParams, store) {
if (record.data.DayStore <= "50") {
return "my_row_style";
}
}
}, --------------------编程问答-------------------- 我也遇到这问题了,就是颜色不出来,怎么办呀 --------------------编程问答-------------------- 求解决的朋友说下解决方案!!
补充:.NET技术 , ASP.NET