0
是一個新手門,我正在試驗一些東西,比如,我有四個面板,但只能根據DropdownChoice組件中的選擇添加一個面板。 我試圖使用onSelectChange()方法添加面板,但它不起作用。任何人都可以幫我拿出適當的樣本代碼。基於DropdownChoice選擇的動態添加面板
是一個新手門,我正在試驗一些東西,比如,我有四個面板,但只能根據DropdownChoice組件中的選擇添加一個面板。 我試圖使用onSelectChange()方法添加面板,但它不起作用。任何人都可以幫我拿出適當的樣本代碼。基於DropdownChoice選擇的動態添加面板
我給你一個這個問題的例子。希望能幫助到你。
DropDownChoice dropDown = new DropDownChoice(...........);
AjaxFormComponentUpdatingBehavior behavior = new AjaxFormComponentUpdatingBehavior(
"onchange") {
@Override
protected void onUpdate(AjaxRequestTarget target) {
//you should write here the logic that
// replaces the panel, something like: content.addOrReplace(panel)
target.addComponent(form);
}
};
dropDown.add(behavior);
所以,這一切,你必須使用AjaxFormComponentUpdatingBehavior處理onchange事件。如果下拉菜單不是必需的,則可以使用tabbedpanel。在這裏您可以找到示例代碼:wicket tabbed panel
在大多數情況下,只需更改這些面板的可見性而不是添加或刪除它們應該更容易。但總的來說,這應該是一條路。 – Nicktar 2011-06-14 10:53:42
我正在使用五個面板並在每個面板上設置可見性會添加更多代碼。但我嘗試了上述解決方案。但我得到空指針異常,因爲下拉列表中的第一個選項將爲空值。我甚至將能見度關閉,但它仍會引發相同的異常。仍在嘗試處理這個 – Vijayakumar 2011-07-02 16:48:54
@lepike:謝謝。該解決方案工作,我使用頁面加載EmptyPanel,來處理該空指針異常。 – Vijayakumar 2011-07-14 07:04:12