藤原 高明
t_fujih****@comte*****
2012年 2月 20日 (月) 21:50:37 JST
お世話になっております。藤原と申します。 先日は質問にご返答いただきありがとうござました。 現在、DataViewとAjaxPagingNavigatorを使用して、 ページングのできるテーブルを作成しております。 テーブルの内容はDBに接続して取得しているのですが、 テーブルの中身を再取得した際に、 AjaxPagingNavigatorが生成するJavaScriptが更新されずに困っております。 (検索項目とその結果を表示するテーブルがあるイメージです。) DataProviderを使用してテーブル内の項目にセットしているモデルの中身を更新して いるのですが、 何か根本的に間違っているのでしょうか。 拙い質問で申し訳ございませんが、お力を貸していただけると助かります。 何卒よろしくお願いいたします。 //以下ソースです。 //一覧表の設定 BaseListDataProvider ListDP = new BaseListDataProvider(); final DataView<DummyBean> baseView = new DataView<DummyBean>("BaseList", ListDP, 10){ @Override protected void populateItem(Item<DummyBean> item) { // TODO 自動生成されたメソッド・スタブ DummyBaseBean base = item.getModelObject(); item.add( new Label("Id", new PropertyModel<DummyBean>(base, "strId"))); } }; //DataView内のItem要素は毎回破棄せずに再利用する baseView.setItemReuseStrategy(new ReuseIfModelsEqualStrategy()); //DataViewにAjaxPagingNavigatorを利用する場合 //DataViewをWebMarkupContainerに配置する。(親要素が必要) WebMarkupContainer viewContainer = new WebMarkupContainer("Container"); // Ajaxで書き換える要素指定 viewContainer.setOutputMarkupId(true); viewContainer.add(baseView); add(viewContainer); // Paging設定 final AjaxPagingNavigator listNavigator = new AjaxPagingNavigator("navigator", baseView); listNavigator.setOutputMarkupId(true); add(listNavigator); //フォーム Form<Void> searchForm = new Form<Void>("SearchForm"); Button searchButton = new Button("SearchButton"){ @Override public void onSubmit(){ // ボタン押下でテーブル内容更新 ListDP.changeData(); } }; sarchForm.add(searchButton); add(searchForm); ****************************************************** キッセイコムテック株式会社 メディカルシステム事業部 第2SIグループ 藤原高明 〒390-1293 長野県松本市和田4010-10 TEL: 0263-60-1340 (直通) 0263-40-1122(代) FAX:0263-48-1284 MAIL:t_fujih****@comte***** ******************************************************