3

GWT画面の1つにセルテーブルがあります。ここでの要件は、画面上にボタンがあり、クリックして編集可能な行をセルテーブルに挿入することです。私が間違っていなければ、これはインライン編集と呼ばれます。

誰かがそれを手伝ってくれませんか?私はGWTで働き始めたばかりです。

4

1 に答える 1

1

これは、セルテーブルに新しい編集可能な行を追加する非常に簡単な例です。私はあなたが何を意味するのか理解したいと思います:)

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;
        }
    }
于 2012-07-09T03:32:50.830 に答える