ExtJS 使用点滴 二 如何使用XTemplate基于同行的其他列的值,改变当前列的显示样式

//Treegrid formatting function 
function fn(v, values){ 
    i = i + 1
    switch(i){ 
        case 1: x = values.alarm1; break
        case 2: x = values.alarm2; break
        default: alert("x not assigned value"); 
    } 
    if (x == 1) {return '<span style="background-color: red; width: 100%">' + v + '</span>';} 
    else if(i == currenthour) 
        {return '<span style="background-color:' + currentcolor + '; width: 100%">' + v + '</span>';} 
    else 
        {return '<span style="background-color:' + basecolor + '; width: 100%">' + v + '</span>';}   

 
//create the treegrid 
columns:[ 
 

        {header: 'Name',dataIndex: 'name',width: 210}, 
        {header: 'H1', width: 60, dataIndex: 'duration1', align: 'center',               
            tpl: new Ext.XTemplate('{duration1:this.doFormat}', {doFormat: fn})}, 
            {header: 'A1', width: 0,dataIndex: 'alarm1' , visibility: false}, 
        {header: 'H2', width: 60, dataIndex: 'duration2',align: 'center'
            tpl: new Ext.XTemplate('{duration2:this.doFormat}', {doFormat: fn})}, 
            {header: 'A2', width: 0,dataIndex: 'alarm2' , visibility: false}, 
posted @ 2012-08-06 16:10  FredTang  Views(277)  Comments(0)    收藏  举报