2016-11-11 4 views
0

Мы используем CheckBoxSelectionModel в сетке GXT. Мы хотим, чтобы у вас был установлен флажок для определенной строки, которая будет проверена и отключена, то есть флажок CheckBoxSelectionModel будет выбран и недоступен, и пользователь не сможет выбрать или отменить его выбор.Gxt: как отключить флажок CheckBoxSelectionModel

CheckBoxSelectionModel sm = new CheckBoxSelectionModel<ModelData>(); 
ColumnConfig checkBoxColumn = sm.getColumn(); 
checkBoxColumn.setStyle("vertical-align: middle;"); 
checkBoxColumn.setRenderer(new GridCellRenderer<ModelData>() 
{ 
    @Override 
    public Object render(ModelData model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<ModelData> store, Grid<ModelData> grid) 
    { 
     // if the code property of model is 1 then select and disable it 
     if (model.get("code").equals(1)) 
     { 
      sm.select((BaseModel) model, true); 
      return "<div>&#160;</div>"; 
     } else { // others case 
      return "<div class=\"x-grid3-row-checker\">&#160;</div>"; 
     } 
    } 
}); 
columnConfigs.add(checkBoxColumn); 

Мы пытались выше код из этого link предложил, но это скрыть флажок, который не то, что нам нужно.

Не знаете, есть ли еще какой-либо еще более правильный способ отключить флажок CheckBoxSelectionModel?

Любая помощь приветствуется.

ответ

-1

CheckBoxSelectionModel sm имеет свойство boolean locked, которое принимает один аргумент. Таким образом, в рендерере устанавливается любое значение, которое вы хотите;

DOC: Настоящий замок для выбора модели выбора. При блокировке все изменения выбора отключены. @param заперта верно для блокировки

sm.setLocked(true) или sm.setLocked(false)