gpt4 book ai didi

java - GWT 2 : how can I add Button to the CellTable's header?

转载 作者:行者123 更新时间:2023-12-01 07:36:38 25 4
gpt4 key购买 nike

我的任务是创建一个带有控件的表来添加新行。这个典型的控件应该由相应的 TextEdits 集和一个“添加新行”按钮组成。

我使用 CellTable。

我可以单独创建这个“添加小部件”,只需组合某些面板中的按钮和必要字段,但我想尝试将其绑定(bind)到表格。我想使用 CellTable 来制作它。为此,我尝试利用 CellTable 的标题。我创建了一个 Header 并添加了 EditCellText 和 ButtonCell。我有两个问题:

  • 该按钮未显示。相反,会显示 getValue() 方法返回的值。
  • 我不知道如何处理该按钮的点击。

[1] 最后,第一个问题是:如何将按钮添加到 CellTable 的标题中以及如何处理对该按钮的点击? 该按钮应该看起来像一个按钮,不仅仅是一些点击区域。

[2] 可能还有另一种方法来完成我的任务。 是否可以创建不同行包含不同按钮的 CellTable? 即第一行持有“添加”按钮,所有其他行持有“删除”按钮。 GWT 可以做到这一点吗?

[3] 还有一个问题。目前,我使用 Java 代码描述了 CellTable 的结构。 IE。我在创建父小部件时手动创建并添加列和标题对象。 是否可以用 XML 来表达我的 CellTable 的结构,即使用一些 mySpecialCellTable.ui.xml 文件?

最佳答案

public static class BtnHeader extends Header<String>{

public BtnHeader(ButtonCell cell) {
super(cell);

}
@Override
public void onBrowserEvent(Context context, Element elem, NativeEvent nativeEvent)
{
int eventType = Event.as(nativeEvent).getTypeInt();
if (eventType == Event.ONCLICK)
{
nativeEvent.preventDefault();
updateHeader();
}
}
@Override
public String getValue() {
return "Click!";
}
protected void updateHeader() {
// TODO to redefine in a defiant class

}

}

在你的代码中

BtnHeader header = new BtnHeader(new ButtonCell()){
@Override
protected void updateHeader(){
// Actions when clicking button
}

cTable.addColumn(column, header);

关于java - GWT 2 : how can I add Button to the CellTable's header?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11106223/

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