does your model properly implement equals and hashcode? and i mean your actual IModel you are using, not the object inside it...
-igor On Fri, Sep 26, 2008 at 8:55 AM, krisnv <[EMAIL PROTECTED]> wrote: > > igor, > > I am already setting it . Do i have to provide any custom implementation? > > refreshingView.setItemReuseStrategy(new ReuseIfModelsEqualStrategy()); > > -krishna > > > > igor.vaynberg wrote: >> >> see IItemReuseStrategy >> >> -igor >> >> On Fri, Sep 26, 2008 at 8:41 AM, krisnv <[EMAIL PROTECTED]> wrote: >>> >>> <p>Thanks for you reply and pointing to the right component to use. Just >>> curious, is there any way to fix this to make it work using this >>> approach?</p> >>> >>> <p>krishna</p> >>> >>> >>> Matej Knopp-2 wrote: >>>> >>>> That's probably because refreshing view is creating new components on >>>> every request. Try using listView nad don't forget to call >>>> setReuseItems(true) on it. >>>> >>>> -Matej >>>> >>>> On Fri, Sep 26, 2008 at 4:49 PM, krisnv <[EMAIL PROTECTED]> wrote: >>>>> >>>>> can any of you please respond. >>>>> >>>>> >>>>> krisnv wrote: >>>>>> >>>>>> <p>I have RefreshingView similar to Contact Editor in Wicket >>>>>> Examples.<BR> >>>>>> I added a Panel and TextFields to this RefreshingView. <BR>I populate >>>>>> these TextFields from a list from Database and have assigned Model >>>>>> objects >>>>>> to each TextField component. The problem is when user modifies a value >>>>>> in >>>>>> any of the text fields, i still get old value from the original list. >>>>>> Model is not getting updated to reflect new value entered by the use. >>>>>> Here >>>>>> is the code:</p> >>>>>> <p> >>>>>> RefreshingView refreshingView = new RefreshingView("simple") { <BR> >>>>>> protected Iterator getItemModels() {<BR> return new >>>>>> ModelIteratorAdapter(users)<BR> { <BR>protected IModel model(Object >>>>>> object) {<BR> return new DetachableUserModel((User)object); <BR>}<BR> >>>>>> }; >>>>>> <BR>}<BR> protected void populateItem(final Item item) { <BR>// >>>>>> populate >>>>>> the row of the repeater<BR> IModel user = item.getModel(); >>>>>> <BR>item.add(new ActionPanel("actions", >>>>>> item.getModel()).setOutputMarkupId(true));<BR> item.add(new >>>>>> TextField("UserName", new AbstractReadOnlyModel() <BR>{ <BR>public >>>>>> Object >>>>>> getObject() <BR>{<BR> User ur = (User)item.getModelObject(); return >>>>>> ur.getUserName();<BR> }<BR> }<BR>));<BR> item.add(new >>>>>> TextField("FirstName", new AbstractReadOnlyModel()<BR> { <BR>public >>>>>> Object >>>>>> getObject()<BR> {<BR> User ur = (User)item.getModelObject(); >>>>>> <BR>return >>>>>> ur.getFirstName();<BR> } <BR>}<BR>));<BR> item.add(new >>>>>> TextField("LastName", new AbstractReadOnlyModel() { <BR>public Object >>>>>> getObject() {<BR> User ur = (User)item.getModelObject();<BR> return >>>>>> ur.getLastName(); } <BR>}<BR>));<BR> item.add(new >>>>>> TextField("ContactPhone", new AbstractReadOnlyModel() { <BR>public >>>>>> Object >>>>>> getObject() <BR>{ <BR>User ur = (User)item.getModelObject();<BR> >>>>>> return >>>>>> ur.getPhone(); }<BR> }<BR>)); <BR>item.add(new TextField("Email", new >>>>>> AbstractReadOnlyModel()<BR> {<BR> public Object getObject()<BR> >>>>>> {<BR> User ur = (User)item.getModelObject(); >>>>>> <BR> return ur.getEmail();<BR> } <BR>}<BR>)<BR>); >>>>>> <BR>item.add(new PasswordTextField("Password", new >>>>>> AbstractReadOnlyModel() >>>>>> {<BR> public Object getObject() <BR>{ <BR> User ur = >>>>>> (User)item.getModelObject(); <BR> return ur.getPassword(); <BR>} >>>>>> <BR>}<BR>)); <BR>}<BR> protected Item newItem(String id, int index, >>>>>> IModel >>>>>> model) <BR>{<BR> // this item sets markup class attribute to either >>>>>> 'odd' >>>>>> or<BR> // 'even' for decoration return new OddEvenItem(id, index, >>>>>> model); >>>>>> <BR>}<BR> }; <BR>refreshingView.setOutputMarkupId(true); >>>>>> <BR>refreshingView.setItemReuseStrategy(new >>>>>> ReuseIfModelsEqualStrategy()); >>>>>> <BR>refreshingView.setItemReuseStrategy(ReuseIfModelsEqualStrategy.getInstance()); >>>>>> <BR>form.add(refreshingView); }</p> >>>>>> <p> >>>>>> Here is the code for the Panel. I am trying to print the value from >>>>>> the >>>>>> text field but still getting old value.<BR> private class ActionPanel >>>>>> extends Panel >>>>>> </p><p>{ <BR> public ActionPanel(String id, IModel model) <BR>{ >>>>>> <BR>super(id, model); <BR> add(new Link("edit") {<BR> public void >>>>>> onClick() {<BR> int resultCode=0; <BR>User usr = >>>>>> (User)getParent().getModelObject(); >>>>>> <BR>System.out.println("firstname=="+usr.getFirstName()); <BR> } >>>>>> <BR>}<BR>);<BR> } >>>>>> </p><p>Any help would be appreciated. Thanks, krishna</p> >> >>>>>> >>>>>> >>>>> >>>>> -- >>>>> View this message in context: >>>>> http://www.nabble.com/Model-object-not-geeting-updated-inside-a-RefreshingView-tp19688544p19689965.html >>>>> Sent from the Wicket - User mailing list archive at Nabble.com. >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>>> >>>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>> >>>> >>>> >>> >>> -- >>> View this message in context: >>> http://www.nabble.com/Model-object-not-geeting-updated-inside-a-RefreshingView-tp19688544p19691024.html >>> Sent from the Wicket - User mailing list archive at Nabble.com. >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> > > -- > View this message in context: > http://www.nabble.com/Model-object-not-geeting-updated-inside-a-RefreshingView-tp19688544p19691306.html > Sent from the Wicket - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]