you can build your own analog of listdataprovider that pulls the list directly from whatever property contains the latest.
-igor On Tue, May 26, 2009 at 9:38 AM, Vasu Srinivasan <[email protected]> wrote: > Hello: > I have a simple search form , where some criteria refreshes the table based > on the db. I got it working with ListView, but im trying to use > ListDataProvider, I feel missing something: > > class MyForm { > List myList; > MyDataView myDataView; > MyDataProvider myDataProvider; > > public MyForm() { > �...@override public void onSubmit() { > myList = refreshData(criteria); > //Question: How do I set this list into the myDataView or > myDataProvider ? I thought myDataView or the provider will auto pick it up, > because its a member variable and is a RefreshingView > } > > //First time > myList = refreshData(defaultCriteria); > myDataView = new MyDataView("myDataView" , new MyDataProvider(myList)); > add(myListView); > } > } > > > class MyDataView extends DataView { > public MyDataView(String id, IDataProvider provider) { super(id, > provider); } > > @Override public void populateItem(Item item) { .... } > } > > class MyDataProvider extends ListDataProvider { > public MyDataProvider(List list) { > super(list); > } > } > > I looked at the example that uses ListView > http://cwiki.apache.org/WICKET/reading-from-a-database.html > <http://cwiki.apache.org/WICKET/reading-from-a-database.html> > > With ListView it works fine if I do this in the method onSubmit() > > myList = refreshData(criteria); > myListView.setList(myList); > > But with DataView, I do not have a set method to reset the new list obtained > based on the criteria. The db returns correct data, but the page displays > the old data (no change). Neither do I see a method to set the new list in > the ListDataProvider. > > I even tried adding a new view inside the onSubmit, but that doesnt work > either: > > myDataView = new MyDataView("myDataView", new MyDataProvider(newList)); > > -- > Thanks! > Vasu Srinivasan > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
