DefaultDataTable の行項目をオーバーライドして、onClick の動作を追加しました。
@Override
protected Item newRowItem(String id, int index, IModel model) {
//return super.newRowItem(id, index, model);
final Item<SearchResult> rowItem = super.newRowItem(id, index,model);
rowItem.add(new AjaxEventBehavior ("onclick") {
@Override
protected void onEvent(AjaxRequestTarget target){
WebMarkupContainer wmc = new WebMarkupContainer("myTest");
target.add(wmc); //this doesn't work
add(wmc); //works but only when I refresh the page
}
});
return rowItem;
}
<object wicket:id="myTest" data="" border="1" width="100%" height="600px"></object>
クリックが発生したら、オブジェクトのデータを更新してオブジェクトをリロードしたいと思います。オブジェクトは Pdf ファイルです。ターゲットを使用すると、PDF がリロードされないようです。設定しました
wmc.setOutputMarkupId(true);
しかし、それは役に立たないようです。
ユーザーがページを更新する必要がないようにするにはどうすればよいですか???
Wicket と Ajax を使い始めたばかりなので初心者です。