onay kutusunu için "seçim" bağlamak ve kolayca seçmek için istediğini varsayarak Bir dizi öğeyi programsal olarak (incelik: kutucukları işaretlemekten ziyade onay kutusunu işaretleyerek seçeceğiniz öğeleri seçin), bir MultiSelectionModel
kullanırsınız. Sen http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellTable örnek kod bulacaksınız
, yani: Sonra
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);
, bir öğeyi seçin (ve onay kutusu otomatik olarak kontrol etmelidir), sadece yapacağız:
selectionModel.setSelected(item, true);
ve benzer şekilde seçili öğelerin tümünü selectionModel.getSelectedSet()
ile alabilirsiniz.
Teşekkür vermek ama benim böyle değil edeceğiz: Ben kontrol etmek istemiyorum/bir tablo seçim yoluyla işaretini ziyade tablonun dışında bir dizi düğme kullanarak. Bağlama, sütun öğesinin ve tablonun dışındaki bir düğmenin – Noya
arasındadır. Düğmenin tıklama işleyicisi, yalnızca seçim modelindeki uygun öğeleri "seçmesi" gerekir ('clear()' + 'setSelected (öğe, doğru)') ve onay kutularının durumu buna göre (otomatik olarak) güncellenir. –
@ThomasBroyer Bir "AsyncDataProvider" ile birden fazla sayfadaki tüm öğeleri seçmeye nasıl giderim? – Nobody