[Wicket-ja-user 576] Re: DataViewをAjaxで更新したい

Back to archive index

maga****@hagan***** maga****@hagan*****
2011年 9月 12日 (月) 20:42:11 JST


船田です。

明確な回答ありがとうございます。
おかげさまでスッキリいたしました。


> たけうちです。
> 
> ListViewおよびDataViewに対応するHTML上のタグが無いからです。
> 
> WicketのAjaxによる更新は、addComponent()したコンポーネントの
> HTMLのタグを丸ごと新しいものに置き換えるということをJavascript側で
> 行っています。そのため、生成されたHTMLでタグが存在しないものに対しては
> 更新がかけられません。たとえば、setRenderBodyOnly(true)とすると
> そのコンポーネントがAjax更新できないのはそのためです。
> 
> ListViewで指定するwicket:idは、列挙されるListItemに対応してしまうため
> ListViewそのものに対応するタグがなくなります。
> 
> --
> たけうち
> @chimerast
> 
> On 2011/09/11, at 0:19, maga****@hagan***** wrote:
> 
> > 船田です。
> > 
> > AbstractRepeaterを継承したListViewやDataViewなどをAjaxで更新したい場合に
> > 
> > AjaxRequestTargetでaddCommponentで追加した場合に
> > 
> > java.lang.IllegalArgumentException: Component xxxx has been added to the target. This component is a repeater and cannot be repainted via ajax directly. Instead add its parent or another markup container higher in the hierarchy.
> > 
> > となります。
> > 
> > WebMarkupContainerなどでAbstractRepeaterを内包するようにしてWebMarkupContainer
> > を更新すれば
> > 回避できるのですが、意図が見えず、しっくりときません。
> > 
> > PageクラスがAjaxで更新できないのはわかるのですが
> > AbstractRepeaterを直接Ajaxで更新不可としているは
> > なぜでしょうか?
> > 
> > ご教授いただけると幸いです。
> > 
> > _______________________________________________
> > Wicket-ja-user mailing list
> > Wicke****@lists*****
> > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user
> 
> _______________________________________________
> Wicket-ja-user mailing list
> Wicke****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user




Wicket-ja-user メーリングリストの案内
Back to archive index