установите флажок в checkboxSelectionModel - PullRequest
0 голосов
/ 01 апреля 2011

итак .. У меня есть checkboxSelectionGrid, подобный тому, что приведен в этой ссылке: http://gwt -ext.com / demo / # checkboxSelectionGrid
Я хочу выбрать несколько сообщений tex для одной и той же компании,
как мне это сделать?

1 Ответ

0 голосов
/ 28 марта 2013

Ну, немного неясно, хотите ли вы предварительно выбрать несколько с одинаковым названием компании или сделать что-то с ними впоследствии, но вот как я это сделал.Возможно, это будет кому-то полезно.

Примечание. Я использую обратимые сборы, а не компании по связанному коду, но концепция та же. частные сборы GridEx;

private GridEx<BeanModel> fees;
.
.
.
fees.getStore().add(feeItems); // this finishes adding all the items.
List<BeanModel> preselectedItems = new ArrayList<BeanModel>();
for (BeanModel feeItem : (fees.getStore() != null && fees.getStore().getModels() != null) ? fees.getStore().getModels() : Collections.<BeanModel>emptyList()) {
    if (feeItem.<ReversibleFee>getBean().isSelected()) {
        preselectedItems.add(feeItem);
    }
}
fees.getSelectionModel().select(preselectedItems, false);

Если вы хотите что-то делать с данными каждый раз, когда флажок установлен, вы можете сделать это так:

fees.getSelectionModel().addSelectionChangedListener(new SelectionChangedListener<BeanModel>() {
    @Override
    public void selectionChanged(SelectionChangedEvent<BeanModel> beanModelSelectionChangedEvent) {
        feeTotal.setValue(0);
        for (BeanModel anItem : fees.getStore().getModels()) {
            if (beanModelSelectionChangedEvent.getSelection().contains(anItem)) {
                anItem.<ReversibleFee>getBean().setSelected(true);
                feeTotal.setValue(feeTotal.nullSafeGetValue() + Math.abs(anItem.<ReversibleFee>getBean().getAmount()));
            } else {
                anItem.<ReversibleFee>getBean().setSelected(false);
            }

        }
    }
});

И, наконец, если вы хотите что-то сделать с даннымипосле отправки вы можете сделать это так:

for (BeanModel beanModel : fees.getSelectionModel().getSelectedItems()) {
    beanModel.<ReversibleFee>getBean().setAmount(788);    
}
...