Выберите действие из списка, выполните его для отмеченных значений в GWT - PullRequest
0 голосов
/ 19 октября 2010

Это мой рабочий код. То, о чем я думал, это добавить несколько флажков и выбрать опцию из списка. Эта опция применяется к отмеченным значениям после нажатия кнопки «Применить», предпочтительно асинхронного вызова. это возможно? Я попробовал несколько вещей, таких как установка прослушивателя для кнопки и затем попытка получить отмеченные значения и выполнить запрос или просто вывести их.

public void onModuleLoad() {

    VerticalPanel panel = new VerticalPanel();
    Button applyButton = new Button("Apply");
    ListBox box = new ListBox(false);

    CheckBox cb = new CheckBox();
    TabPanel tabpanel = new TabPanel();
    FlowPanel flowpanel;

    flowpanel = new FlowPanel();
    flowpanel.setSize("500px", "250px");
    flowpanel.add(cb);

    tabpanel.add(flowpanel, "All");

    flowpanel = new FlowPanel();
    tabpanel.add(flowpanel, "Active");

    flowpanel = new FlowPanel();
    tabpanel.add(flowpanel, "In-active");

    tabpanel.selectTab(0);
    tabpanel.setSize("500px", "250px");

    box.addItem("Set Active");
    box.addItem("Set In-Active");


    panel.add(box);
    panel.add(applyButton);
    panel.add(tabpanel);

    RootPanel.get().add(panel);

}

Спасибо.

1 Ответ

1 голос
/ 19 октября 2010

Что-то в этом роде?Соберите выбранную опцию, а также отмеченные элементы для отправки этих значений для обработки на сервер (выполните это в методе onClick):

    public void onModuleLoad() {
        final CheckBox[] items = new CheckBox[3];
        items[0] = new CheckBox("item 1");
        items[1] = new CheckBox("item 2");
        items[2] = new CheckBox("item 3");
        final ListBox options = new ListBox();
        Button apply = new Button("apply");
        FlowPanel panel = new FlowPanel();
        panel.add(items[0]);
        panel.add(items[1]);
        panel.add(items[2]);
        panel.add(options);
        panel.add(apply);

        options.addItem("option 1");
        options.addItem("option 2");

        apply.addClickHandler(new ClickHandler() {

            @Override
            public void onClick(ClickEvent event) {
                String selectedOption = options.getValue(options.getSelectedIndex());
                System.out.print("Apply " + selectedOption
                        + " to: ");
                for (CheckBox checkBox : items) {
                    if (checkBox.getValue()) {
                        System.out.print(checkBox.getText());
                    }
                }
                System.out.println();
            }
        });

        RootPanel.get().add(panel);
    }

Или ListBox должно содержать действие (иметьвзгляните на Command интерфейс GWT), который должен применяться к выбранным флажкам?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...