Как обновить Panel, когда пользователь выбирает раскрывающийся список в Wicket? - PullRequest
0 голосов
/ 14 октября 2010

Я хотел бы знать, как обновить панель, когда мы выбираем раскрывающиеся значения chioce, то есть в методе onUpdate ().

Моя пользовательская панель имеет AjaxFallbackDefaultDataTable.

НижеПанель и выпадающий код компонентов.Когда пользователь выбирает дату, я хочу заменить всю панель.В настоящее время я начал этот код target.addComponent, но я хочу иметь реализацию здесь.Есть предложения?

List<DealHistory> dealHistoryList = ServicesCaller
            .getAllDealHistoryRecords();
    DealHistoryTablePanel dealHistoryTablePanel = new DealHistoryTablePanel(
            "deal_history_table_panel", dealHistoryList);
    dealHistoryTablePanel.setOutputMarkupId(true);

    add(dealHistoryTablePanel);

    IModel<List<? extends String>> dateChoices = new AbstractReadOnlyModel<List<? extends String>>() {
        @Override
        public List<String> getObject() {
            List<String> list = new ArrayList<String>();
            list.add("Last 3 months");
            list.add("Last 6 months");
            return list;
        }
    };

    final DropDownChoice<String> datesDropDown = new DropDownChoice<String>(
            "dates", new PropertyModel<String>(this, "selectedDate"),
            dateChoices);
    datesDropDown.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            //target.addComponent(dealHistoryTablePanel);
        }
    });
    add(datesDropDown);

1 Ответ

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

Вы определенно на правильном пути.Основная вещь, которая сделает это, это наличие

target.addComponent(dealHistoryTablePanel);

именно там, где оно у вас есть, в AjaxFormComponentUpdatingBehavior.

Вы также, вероятно, захотите изменить модель в своемDealHistoryTablePanel, возможно, заменив список, который он содержит, другим, полученным другим вызовом вашей службы.Чтобы сказать что-то более явное, мне нужно увидеть код для DealHistoryTablePanel.

пример , показывающий обновление одного DropDownChoice после выбора одного поучительно, хотяКонечно, компонент, который он обновляет, отличается.

...