1

私はGWTを学んでいます

flexTable の最初の行に、コンボボックス、コンボボックス、テキスト ボックス、AddButton、削除ボタンを追加しました。

addButton 2 行のクリック イベントで、最初と同じコンポーネントで flexTable に追加されます。(コンボボックス、コンボボックス、テキストボックス、追加ボタン、削除ボタン)

private Button getAddbutton() {

        addbutton = new Button("");
        addbutton.addClickHandler(new ClickHandler() {
            public void onClick(ClickEvent event) {
                int i = flexTable.getRowCount();
                System.out.println(" i " + i);
                i++;
                flexTable.setWidget(i, 0, getPropertyList());
                flexTable.setWidget(i, 1, getConditionList());
                flexTable.setWidget(i, 2, getKeyWord());
                flexTable.setWidget(i, 3, getAddbutton());

                flexTable.setWidget(i, 4, getRemove());
                remove.setStyleName("cmis-Button-removeOn");
                remove.setTitle(""+i);
            }
        });
        addbutton.setSize("25px", "25px");
        addbutton.setStyleName("cmis-Button-Add");

    return addbutton;
}

i の出力は

 i 1
 i 3
 i 5
 i 7

列に 4 行しか追加していないのに、rowCount が 2 増加する理由

4

1 に答える 1

2

これは、flexTable のインデックス作成が 0 から始まるためですが、行数を増やしているためです。i++を削除するだけです。

于 2012-07-12T09:54:33.820 に答える