所以..我有一个checkboxSelectionGrid,就像这个链接中的那个:http: //gwt-ext.com/demo/#checkboxSelectionGrid
我想选择同一家公司的多个post tex。
我怎么做?
问问题
695 次
1 回答
0
嗯,有点不清楚你是想预先选择几个具有相同公司名称的人,还是事后对他们做点什么,但这就是我的做法。也许它对某人有一些用处。
请注意,我使用的是可逆费用,而不是链接代码中的公司,但概念是相同的。 私人 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);
}
于 2013-03-27T22:00:27.743 回答