这比是我在项目中用到的一个方法,用于遍历数据,根据条件改变每行的背景颜色。
代码如下:
<script type="text/javascript">
function changerowcolor() {
caseListGridPanel.getStore().on('load', function(s, records) {
var girdcount = 0;
var ret = '';
s.each(function(r) {
if (r.get('SetRowColor') == false) {
return;
}
switch (r.get('Status')) {
case 'Open': ret = '#FF99CC'; break;
case 'Processing': ret = '#FFFF99'; break;
case 'Closed': ret = '#00FFFF'; break;
default: ret = '#FFFFFF'; break;
}
caseListGridPanel.getView().getRow(girdcount).style.backgroundColor = ret;
girdcount = girdcount + 1;
});
})
caseListGridPanel.getStore().on('datachanged', function(s, records) {
var girdcount = 0;
var ret = '';
s.each(function(r) {
if (r.get('SetRowColor') == false) {
return;
}
switch (r.get('Status')) {
case 'Open': ret = '#FF99CC'; break;
case 'Processing': ret = '#FFFF99'; break;
case 'Closed': ret = '#00FFFF'; break;
default: ret = '#FFFFFF'; break;
}
caseListGridPanel.getView().getRow(girdcount).style.backgroundColor = ret;
girdcount = girdcount + 1;
});
})
}
</script>
大致的方法是这样的,但是如果你点击title,颜色会被去掉,可以写在softchange的事件中。这样就可以自如的变换了。