GWT单元表中的内联编辑

GWT单元表中的内联编辑,gwt,Gwt,我的一个GWT屏幕上有一个单元格表。现在的要求是,屏幕上会有一些按钮,单击其中一个可编辑的行将被插入到单元格表中。如果我没有错的话,这就是内联编辑 谁能帮我一下吗?我刚刚开始在GWT中工作。这里是一个向celltable添加新的可编辑行的非常简单的示例。我希望我能理解你的意思:) 公共类测试 入口点 { moduleload()上的公共void { //创建并附加表 最终单元表=新单元表(); RootPanel.get().add(表); //添加可编辑单元格 table.addColumn(

我的一个GWT屏幕上有一个单元格表。现在的要求是,屏幕上会有一些按钮,单击其中一个可编辑的行将被插入到单元格表中。如果我没有错的话,这就是内联编辑


谁能帮我一下吗?我刚刚开始在GWT中工作。

这里是一个向celltable添加新的可编辑行的非常简单的示例。我希望我能理解你的意思:)

公共类测试
入口点
{
moduleload()上的公共void
{
//创建并附加表
最终单元表=新单元表();
RootPanel.get().add(表);
//添加可编辑单元格
table.addColumn(新列(新TextInputCell())
{
@凌驾
公共字符串getValue(
(物体)
{
返回object.getA()==null?”:object.getA();
}
});
//放一些数据
ListDataProvider dataProvider=新ListDataProvider(
asList(新A(“AAA”)、新A(“BBB”)、新A(“CCC”);
dataProvider.addDataDisplay(表);
//使用单击处理程序添加按钮
RootPanel.get().add(新建按钮(“添加新”,新建ClickHandler())
{
@凌驾
公共空间点击(
单击事件(事件)
{
//将新对象添加到可见项
列表数据=新的ArrayList(table.getVisibleItems());
新的=新的A();
data.add(newOne);
表.setRowData(数据);
}
}));
}
甲级
{
字符串a;
公共的(
字符串a)
{
超级();
这个a=a;
}
公共A()
{
超级();
}
公共字符串getA()
{
返回a;
}
公共无效毛(
字符串a)
{
这个a=a;
}
}

我只想使单击“添加”按钮时添加的行可编辑。如果表中已有一些行,则不应编辑它们
public class Test
implements EntryPoint
{
    public void onModuleLoad()
    {
        //create and attach table
        final CellTable<A> table = new CellTable<A>();
        RootPanel.get().add(table);

        //add editable cell
        table.addColumn(new Column<A, String>(new TextInputCell())
        {

            @Override
            public String getValue(
                A object)
            {
                return object.getA() == null ? "" : object.getA();
            }
        });

        //put some data
        ListDataProvider<A> dataProvider = new ListDataProvider<A>(
            Arrays.asList(new A("AAA"), new A("BBB"), new A("CCC")));
        dataProvider.addDataDisplay(table);

        //add button with click handler
        RootPanel.get().add(new Button("add new", new ClickHandler()
        {

            @Override
            public void onClick(
                ClickEvent event)
            {
                //add new object to visible items
                List<A> data = new ArrayList<A>(table.getVisibleItems());
                A newOne = new A();
                data.add(newOne);
                table.setRowData(data);
            }
        }));
    }

    class A
    {
        String a;

        public A(
            String a)
        {
            super();

            this.a = a;
        }

        public A()
        {
            super();
        }

        public String getA()
        {
            return a;
        }

        public void setA(
            String a)
        {
            this.a = a;
        }
    }