On 4/26/07, ChuckDeal <[EMAIL PROTECTED]> wrote:


Yeah, I had thought that was the problem, that's I why I switched to
ReuseIfModelsEqualStrategy (actually, a custom impl based upon that class
because I could figure out how to use a custom model for the cells;
AbstractDataGridView.getPopulatorsIterator is private and it doesn't
supply
an overridable method to wrap the object in a Model and Model doesn't
delegate equals/hashCode to the modelObject, but I digress...).


you dont need access to that, the model used is the one returned form the
dataprovider.

The main
difference is that my impl uses the modelObject, not the model as the Map
key.  I can verify that I am returning the oldItem from the
IItemReuseStrategy.getItems() method.


the model you return from dataprovider has to have its equals and hashcode
implemented, if you want those can forward to the modelobject.

What else should I be verifying?  Could this have anything to do with
RefreshingView.internalOnAttach() doing a removeAll() then addItems().

Could the removeAll be disconnecting the component from the user entered
data? before it gets re-rendered?  I'm just shooting in the dark here
because I don't think I fully understand the underlying processing.


no. removeall() is done, yes, but then if the old item is readded it still
has the same path and components.

if you are really lost then you can create a quickstart and reproduce the
problem. there is also an example in wicket-examples/repeaters that shows a
datatable with an itemreusestrategy i believe.

-igor


Chuck


igor.vaynberg wrote:
>
> your model reuse strategy must not be working correctly.
>
> the input values are lost because they bound to the component, and if
that
> component is recreated by the repeater they are then gone. thus the
> disappearing values.
>
> -igor
>
>
> On 4/26/07, ChuckDeal <[EMAIL PROTECTED]> wrote:
>>
>>
>> On my page, I use a DataTable with custom IColumn implementtions that
use
>> fragments to make the cells editable.  If I change that values in the
>> cells
>> and click submit (which just submits the Form object) then it preoperly
>> persists my data and refreshes with the correct data when there are no
>> validation problems.  If I attempt to submit but there is a validation
>> problem, then the DataTable cells reset back to their original
>> values.  This
>> is unlike a TextField that is directly on the Form which would retain
the
>> last entered value.
>>
>> I'm trying to understand the difference between the two scenarios.  I
>> believe it has something to do with DataTable creating new Items on
each
>> render.  I even tried to use ReuseIfModelsEqualStrategy, which I
verified
>> was returning the the existing object versus creating a new one.  But
it
>> still did not persist the user-entered values, because the model wasn't
>> getting updated (as I expected since the validation failed).
>>
>> I may not fully understand how wicket "redraws" the screen after a
>> validation failure in which the components do not update their models,
>> yet
>> are able to display the last user entered value.  Perhaps some insight
>> into
>> that might make me understand where I've gone wrong.
>>
>> Chuck
>> --
>> View this message in context:
>>
http://www.nabble.com/reloading-a-DataTable-after-submit-with-validation-error-tf3653176.html#a10205480
>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>
>>
>>
-------------------------------------------------------------------------
>> This SF.net email is sponsored by DB2 Express
>> Download DB2 Express C - the FREE version of DB2 express and take
>> control of your XML. No limits. Just data. Click to get it now.
>> http://sourceforge.net/powerbar/db2/
>> _______________________________________________
>> Wicket-user mailing list
>> Wicket-user@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/wicket-user
>>
>
>
-------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>
>

--
View this message in context:
http://www.nabble.com/reloading-a-DataTable-after-submit-with-validation-error-tf3653176.html#a10206546
Sent from the Wicket - User mailing list archive at Nabble.com.


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to