我写的一小段代码,生成一个Grid后,把第2行变成红色,结果没有效果,请您指正,多谢!
Ext.onReady(function(){
var cm = new Ext.grid.ColumnModel([
{header: 'name', dataIndex: 'name'},
{header: 'sex', dataInex: 'sex'},
]);
var PersonRecord = Ext.data.Record.create([
{name: 'name', type: 'string'},
{name: 'sex', type: 'int'},
{name: 'color', type: 'string'}
]);
var data = [
['boy', 0, '#FBF8BF'],
['girl', 1, '#99CC66'],
['man', 0, '#F5C0C0'],
['woman', 1, '#FF0000']
];
var store = new Ext.data.Store({
proxy: new Ext.data.MemoryProxy(data),
reader: new Ext.data.ArrayReader({}, PersonRecord)
});
store.load();
var grid = new Ext.grid.GridPanel({
store: store,
cm: cm,
autoHeight: true,
renderTo: 'grid',
});
我想把第2行设置为红色,结果运行后没有任何效果,请您指教!多谢!
grid.getView().getRow(1).style.backgroundColor='#FF0000';
grid.getView().refresh(true);
});
<style type="text/css">
.red-row{ background-color: red}
<br> Ext.onReady(function(){<br> var PersonRecord = Ext.data.Record.create([<br> {name: 'name', type: 'string'},<br> {name: 'sex', type: 'int'},<br> {name: 'color', type: 'string'}<br> ]);</p> <pre><code>var data = [ ['boy', 0, '#FBF8BF'], ['girl', 1, '#99CC99'], ['man', 0, '#F5C0C0'], ['woman', 1, '#FFFFFF'] ]; var store = new Ext.data.Store({ proxy: new Ext.data.MemoryProxy(data), reader: new Ext.data.ArrayReader({}, PersonRecord) }); store.load(); var grid = new Ext.grid.GridPanel({ store: store, columns: [ {header: 'name', dataIndex: 'name'}, {header: 'sex', dataInex: 'sex'} ], autoHeight: true, trackMouseOver:false, renderTo: 'grid' }); Ext.get('change').on('click', function() { Ext.get(grid.getView().getRow(1)).radioClass("red-row") }); </code></pre> <p>});<br>
grid.getView().refresh(true);
去掉
<style type="text/css">
.white-row{ background-color: white; }
.red-row{ background-color: red ; }
<br> Ext.onReady(function(){</p> <pre><code>var cm = new Ext.grid.ColumnModel([ {header: 'name', dataIndex: 'name'}, {header: 'sex', dataInex: 'sex'} ]); var PersonRecord = Ext.data.Record.create([ {name: 'name', type: 'string'}, {name: 'sex', type: 'int'}, {name: 'color', type: 'string'} ]); var data = [ ['boy', 0, '#FBF8BF'], ['girl', 1, '#99CC66'], ['man', 0, '#F5C0C0'], ['woman', 1, '#FF0000'] ]; var store = new Ext.data.Store({ proxy: new Ext.data.MemoryProxy(data), reader: new Ext.data.ArrayReader({}, PersonRecord) }); store.load(); var grid = new Ext.grid.GridPanel({ store: store, cm: cm, autoHeight: true, renderTo: 'grid', viewConfig : { forceFit : false, enableRowBody : true, getRowClass :function(record, rowIndex, p, ds) { var cls = 'white-row'; switch (rowIndex) { case 1: // 把第2行设置为红色 cls = 'red-row' break; } return cls; } } }); </code></pre> <p>});<br>
backgroundColor style中好像没有这个属性
在我这试验是成功的 把refresh去掉之后
2.0中是好用的,3以后的版本是不好用的