gpt4 book ai didi

GWT Header 复选框选中/取消选中我表中的所有复选框

转载 作者:行者123 更新时间:2023-12-05 01:29:20 26 4
gpt4 key购买 nike

我使用 Google Web Toolkit 创建了一个 CellTable。我刚开始使用它,我对它的了解非常少......然而,我一直在寻找有关如何在 CellTable header 中创建复选框的教程或代码示例,但我发现我不明白或没有奏效。

到目前为止,我已经得到这段代码来为复选框创建一个列和一个普通表格,这与 CellTable 的 Google 教程基本相同:

Column<Contact, Boolean> checkColumn = new Column<Contact, Boolean>(
new CheckboxCell(true, false)) {

@Override
public Boolean getValue(Contact contact) {
return null;
}

};

table.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));
table.setColumnWidth(checkColumn, 40, Unit.PX);

现在我正在搜索代码以将复选框添加到标题以及如何使其选中或取消选中所有复选框。

感谢您的宝贵时间。

最佳答案

来自 my blog帖子:

这是一个简单的列标题,用于选择/取消选择表格中的所有行。选中所有行后,标题会自动选中。单击标题中的复选框会导致选择或取消选择所有行。

selection

我正在使用选择模型和数据列表提供程序来执行选择魔术。它可能并不适合所有人。

这是我的自定义 header :

public final class CheckboxHeader extends Header {

private final MultiSelectionModel selectionModel;
private final ListDataProvider provider;

public CheckboxHeader(MultiSelectionModel selectionModel,
ListDataProvider provider) {
super(new CheckboxCell());
this.selectionModel = selectionModel;
this.provider = provider;
}

@Override
public Boolean getValue() {
boolean allItemsSelected = selectionModel.getSelectedSet().size() == provider
.getList().size();
return allItemsSelected;
}

@Override
public void onBrowserEvent(Context context, Element elem, NativeEvent event) {
InputElement input = elem.getFirstChild().cast();
Boolean isChecked = input.isChecked();
for (TYPE element : provider.getList()) {
selectionModel.setSelected(element, isChecked);
}
}

}

关于GWT Header 复选框选中/取消选中我表中的所有复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11519466/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com