/** * (non-Javadoc) * @see com.extjs.gxt.ui.client.event.CheckProvider#isChecked(com.extjs.gxt.ui.client.data.ModelData) */ public boolean isChecked(M model) { return sm.isSelected(model); }
/** * <br/> */ public void addCheckListener(final CheckChangedListener<M> listener) { SelectionChangedListener<M> lsc = new SelectionChangedListener<M>() { @Override public void selectionChanged(SelectionChangedEvent<M> se) { CheckChangedEvent<M> event = new CheckChangedEvent<M>(CheckProviderGrid.this, getCheckedSelection()); listener.checkChanged(event); } }; mListeners.put(listener, lsc); sm.addSelectionChangedListener(lsc); }
/** * (non-Javadoc) * @see com.extjs.gxt.ui.client.event.CheckProvider#getCheckedSelection() */ public List<M> getCheckedSelection() { return sm.getSelectedItems(); }
private void updateHeaderCheckBox() { setChecked(getSelection().size() == listStore.getCount()); }
@Override protected void handleMouseDown(GridEvent<M> e) { if (e.getEvent().getButton() == Event.BUTTON_LEFT && e.getTarget().getClassName().equals("x-grid3-row-checker")) { M m = listStore.getAt(e.getRowIndex()); if (m != null) { if (isSelected(m)) { deselect(m); } else { select(m, true); } } } else { super.handleMouseDown(e); } }
/** * Unique constructor. * @param store * @param cm */ public CheckProviderGrid(ListStore<M> store, ColumnModel cm) { super(store, cm); List<ColumnConfig> lcc = cm.getColumns(); lcc.add(0, sm.getColumn()); addPlugin(sm); sm.setSelectionMode(SelectionMode.MULTI); setSelectionModel(sm); }
protected void onHeaderClick(GridEvent<M> e) { ColumnConfig c = grid.getColumnModel().getColumn(e.getColIndex()); if (c == config) { El hd = e.getTargetEl().getParent(); boolean isChecked = hd.hasStyleName("x-grid3-hd-checker-on"); hd.dom.getFirstChildElement().setAttribute("aria-selected", isChecked ? "false" : "true"); if (isChecked) { setChecked(false); deselectAll(); } else { setChecked(true); selectAll(); } } }
public void handleEvent(GridEvent<M> e) { if (e.getType() == Events.HeaderClick) { onHeaderClick(e); } else if (e.getType() == Events.ViewReady) { updateHeaderCheckBox(); if (isChecked) { setChecked(false); deselectAll(); } else { setChecked(true); selectAll();
if (grid.getSelectionModel() instanceof CheckBoxSelectionModel<?>) { CheckBoxSelectionModel<?> sm = (CheckBoxSelectionModel<?>) grid.getSelectionModel(); if (cm.getColumnById(sm.getColumn().getId()) != null) { rowBodyColSpanCount--;
public CheckBoxSelectionModel() { super(); config = newColumnConfig(); config.setId("checker"); config.setWidth(20); config.setSortable(false); config.setResizable(false); config.setFixed(true); config.setMenuDisabled(true); config.setDataIndex(""); config.setRenderer(new GridCellRenderer<M>() { public String render(M model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<M> store, Grid<M> grid) { config.cellAttr = "rowspan='2'"; return "<div class='x-grid3-row-checker'> </div>"; } }); }
if (grid.getSelectionModel() instanceof CheckBoxSelectionModel<?>) { CheckBoxSelectionModel<?> sm = (CheckBoxSelectionModel<?>) grid.getSelectionModel(); if (cm.getColumnById(sm.getColumn().getId()) != null) { rowBodyColSpanCount--;