2016-01-30 7 views
0

У меня есть сетка, которую я использую для отображения записей из таблицы в моей базе данных. В этой таблице у меня есть поле «STATUS», которое имеет значения «ON» или «OFF». То, что я пытаюсь сделать, - это сделать запись зеленой границы в сетке, если значение ON и красный цвет границы, если значение выключено. Я пробовал все, например, метод getRowClass, изменяя CSS в extjs-all.css. Однако я не добился успеха. Я очень ценю некоторую помощь.Изменение цвета границ записей в сетке extjs3

grid = new Ext.grid.GridPanel({ 
         id:'users_gridpanel', 
         region:'center', 
         loadMask: {msg:"${tr.Loading}..."}, 
         store: gridStore, 
         tbar:tlb, 
         cm: colModel, 
         stripeRows: true, 
         sm: _selctionModel, 
         plugins: [filters], 
         bbar:paging, 
         viewConfig: 
         { 
          forceFit: true, 
          headersDisabled:false 
         }, 


        }); 

ответ

0

у вас есть модель колонки для сетки, в модели столбца состояния колонки добавить рендерер метод для этого и добавить значение в сНу теге HTML

renderer:function(val,b,c,d,e,f){ 
      if(val==ON){ 
       return "<div add color property here for div >"+val+"</div>" 
      }else{ 
       return "<div add color property here for div >"+val+"</div>" 
      } 

     } 
0

Может быть, не хочу, чтобы вы точно нужно но я уже сделал что-то подобное с функцией renderer в столбце, может быть, вы тоже сможете это использовать?

Вот мой код:

columns: [ 
    {header: "Color", dataIndex: "COLOR", width:100, 
    renderer: 
     function(value, metaData, record, rowIndex, colIndex, store){ 
      if(value =='ON') 
       metaData.style = "background-color: rgb(255,255,255);"; 
      else 
       metaData.style = "background-color: rgb(0,0,0);" 
     return ""; 
     }           
    }, 

Вы можете дать попробовать с border-color вместо background-color

Надеется, что это помогает