1

私のソフトウェアは、ユーザーがチェックボックスをクリックしてデータを選択できるように、フレックステーブルを表示しています(データはデータベースから取得されて表示されます)。

//users is the flextable object.
userCheck = new ClickHandler() {
        public void onClick(ClickEvent event) {
            CheckBox src = (CheckBox) event.getSource();
            for (int i = 1, n = users.getRowCount(); i < n; i++) {
                CheckBox box = (CheckBox) users.getWidget(i, 0);

                if (!box.equals(src)) {
                    box.setValue(false, false);
                }
            }
            removeUserButton.setEnabled(src.getValue());
            editUserButton.setEnabled(src.getValue());

        }
    };

上記のコードは機能しますが、ユーザーがチェックボックスをクリックする代わりに、ユーザーが行(テーブルのセル)をクリックして行全体を作成するアクションを実装しようとしています(ユーザーが選択した) が強調表示されます。したがって、このコードを以下に実装しましたが、これまでのところ機能しません (マウスクリックが登録されないように、まだ色のものを実装していません.. :( )。何か提案はありますか?

userRowCheck = new ClickHandler() {
        public void onClick(ClickEvent event) {
            Cell src = users.getCellForEvent(event);
            int rowIndex = src.getRowIndex();
            System.out.println("Cell Selected: userRowCheck Handler, rowIndex: " + rowIndex);
            //This is just to check if this method is even called out. And well, it doesn't.
        }
    };

どうもありがとう!!!!

4

1 に答える 1

2

userRowCheckFlexTableに追加した場合:myFlexTable.addClickHandler(userRowCheck);動作するはずです。ウィジェットをセルに配置せず、ユーザーがそのセルをクリックすると、が返されるsrcため、必ずテストしてください。nullnull

于 2011-07-20T20:12:34.347 に答える