मान लिया जाये कि आप क्या चाहते हैं चेकबॉक्स को "चयन" बाँध और आसानी से चयन करने के लिए है वस्तुओं का एक गुच्छा प्रोग्रामेटिक रूप से (subtlety: आइटम का चयन करें, जिसके परिणामस्वरूप बॉक्स चेकिंग के बजाय चेकबॉक्स चेक किया जा रहा है), आप MultiSelectionModel
का उपयोग करेंगे।
आप http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellTable में नमूना कोड मिल जाएगा, वह यह है कि:
final MultiSelectionModel<ContactInfo> selectionModel = new MultiSelectionModel<ContactInfo>(
ContactDatabase.ContactInfo.KEY_PROVIDER);
cellTable.setSelectionModel(selectionModel,
DefaultSelectionEventManager.<ContactInfo> createCheckboxManager());
…
Column<ContactInfo, Boolean> checkColumn = new Column<ContactInfo, Boolean>(
new CheckboxCell(true, false)) {
@Override
public Boolean getValue(ContactInfo object) {
// Get the value from the selection model.
return selectionModel.isSelected(object);
}
};
cellTable.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));
cellTable.setColumnWidth(checkColumn, 40, Unit.PX);
फिर
, किसी आइटम का चयन (और उसके चेकबॉक्स स्वचालित रूप से जाँच की है) करने के लिए, तो आप बस करेंगे:
selectionModel.setSelected(item, true);
और आप इसी प्रकार सभी चयनित वस्तुओं का सेट selectionModel.getSelectedSet()
के साथ प्राप्त कर सकते हैं।
स्रोत
2011-05-30 15:09:56
उत्तर के लिए धन्यवाद लेकिन यह मेरा मामला नहीं है: मैं तालिका चयन के माध्यम से चेक/अनचेक नहीं करना चाहता हूं बल्कि तालिका के बाहर बटन के एक सेट का उपयोग कर। बाध्यकारी कॉलम के तत्व और तालिका – Noya
के बाहर एक बटन के बीच है बटन के क्लिक हैंडलर * केवल * चयन मॉडल में उचित आइटम "चयन करें" ('स्पष्ट()' + 'सेट चयनित (आइटम, सत्य)') , और चेकबॉक्स स्थिति तब तदनुसार अपडेट की जाएगी (स्वचालित रूप से)। –
@ थॉमसब्रायर मैं 'AsyncDataProvider' के साथ एकाधिक पृष्ठों में सभी आइटमों को चुनने के बारे में कैसे जाउंगा? – Nobody