2016-11-11 5 views
0

Wir haben das CheckBoxSelectionModel in einem Raster von GXT verwendet. Wir möchten, dass ein Kontrollkästchen für eine bestimmte Zeile aktiviert und deaktiviert ist, dh das Kontrollkästchen CheckBoxSelectionModel ist ausgewählt und ausgegraut, und der Benutzer konnte es nicht aktivieren oder deaktivieren.Gxt: So deaktivieren Sie das Kontrollkästchen 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); 

Wir haben die oben genannten Code versucht, aus dieser link vorgeschlagen, aber das wird das Kontrollkästchen verstecken, das ist nicht das, was wir brauchten.

Wissen Sie nicht, ob es noch eine andere Möglichkeit gibt, das Kontrollkästchen des CheckBoxSelectionModels zu deaktivieren?

Jede Hilfe wird geschätzt.

Antwort

-1

CheckBoxSelectionModel sm hat eine boolesche Eigenschaft, die ein Argument akzeptiert. Setzen Sie also im Renderer den gewünschten Wert;

DOC: True, um das Auswahlmodell zu sperren. Wenn gesperrt, sind alle Auswahländerungen deaktiviert. @param gesperrt wahr

sm.setLocked(true) oder sm.setLocked(false)

zu sperren
Verwandte Themen