GWT单元格表中的内联编辑

时间:2012-07-06 15:27:47

标签: gwt

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

有人可以帮助我吗?我刚刚开始在GWT工作。

1 个答案:

答案 0 :(得分:1)

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

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;
        }
    }