0

smartgwt の使用 (バージョン:v9.0_2013-07-03) listgrid では、フィルター ボタンがクリックされたために FilterEditorSubmitHandler イベントが発生した場合と、フィルター キーが押されたためにキーを入力した場合を区別する方法はありますか??

4

1 に答える 1

0

それを行う直接的な方法はありません。SmartGWT API は、私の知る限り、そのような機能も提供していません。これを達成するために、手動でいくつかのことを行うことができます。以下のコード スニペットを参照してください。

boolean isKeyPressed = true;
grid.setFilterOnKeypress(false);

grid.addFilterEditorSubmitHandler(new FilterEditorSubmitHandler() {

    @Override
    public void onFilterEditorSubmit(FilterEditorSubmitEvent event) {
        System.out.println("Enter: " + isKeyPressed);
        if (!isKeyPressed) {
            isKeyPressed = true;
        }
    }
});

Button button = new Button();
button.addClickHandler(new ClickHandler() {

    @Override
    public void onClick(ClickEvent event) {
        isKeyPressed = false;
        grid.filterByEditor();
    }
});
grid.setFilterButtonProperties(button);

お役に立てば幸いです。

于 2013-10-22T06:12:20.830 に答える