gpt4 book ai didi

gwt-celltable - 如何将点击处理程序添加到单元格表格构建器的子行

转载 作者:行者123 更新时间:2023-12-04 03:34:13 25 4
gpt4 key购买 nike

我能够使用 celltablebuilder 构建自定义行。单击特定 anchor 单元格时,我可以为该行构建其他子行。这个子行有按钮,当点击按钮时我做了一些 Action 。我可以在子行中添加带有 clickhandler 的按钮,但是当点击按钮时没有任何事情发生,clickhandler 不会触发。

任何人都可以请帮忙。

protected void buildRowImpl(GridDTO rowValue, int absRowIndex ) {
buildRows(rowValue, absRowIndex, true);
if (showingFriends.contains(rowValue.getComponentId())) {
buildAdditonalRows( absRowIndex, gridDTO);
}

}
private void buildAdditonalRows(int index, GridDTO rowValue, ){
TableRowBuilder row = startRow();
td = row.startTD();
if(rowValue.getXpath() != null){
//td.text(rowValue.getXpath());
renderCell(td, createContext(1), cellTable.getColumn(1), rowValue);
}else{
td.text("");
}
td.endTD();
td = row.startTD();
Button button = new Button ();
button.setText("Save");
button.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
Window.alert("ssss");
}
});
DivBuilder div = td.startDiv();
div.html(new afeHtmlBuilder().appendHtmlConstant(button.toString()).toSafeHtml());
div.end();
td.endTD();
row.endTR();
}

最佳答案

CellPreviewEvent 提供子索引。您可以使用它来获取子行值。
用法示例:

dataGrid.addCellPreviewHandler(new CellPreviewEvent.Handler<TreeItem>() {
@Override
public void onCellPreview(final CellPreviewEvent<TreeItem> event) {
if(event.getNativeEvent().getType().equals(BrowserEvents.CLICK)){
if(event.getContext().getSubIndex()>0){
event.getValue().getChild(event.getContext().getSubIndex()-1);
}
}
}
});

或者您可以提供带有 selectionMode 的自定义 CellPreviewEvent.Handler 实现。更多详情可以查看 AbstractHasData

关于gwt-celltable - 如何将点击处理程序添加到单元格表格构建器的子行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12595925/

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