Hello,

2) Yes, the target.add(row) is on the callback from the modalWindow.
3) yes, I need to update the other values after user leaves the input, I
don't want immediate changes after each character change.
While in debug mode, I can see the change event being called, and the all
the values set to null, but the row is still not getting updated.


On Thu, Nov 10, 2016 at 12:08 PM, Sven Meier <s...@meiers.net> wrote:

> Hi,
>
> 2)
> usually you would have a callback on your popup, that is called when the
> it closes. This would be the time to update the edited row.
>
> 3)
> the browser invokes the 'change' event only *after* leaving the input
> field. You can listen for immediate changes with Wicket's
> OnChangeAjaxBehavior - but updating the whole row while you're editing one
> input inside of it will interfere with the user's input :/.
>
> Hope this helps
> Sven
>
>
>
>
> Am 10.11.2016 um 10:55 schrieb ganea iulia:
>
>> Hello, thank you for the help.
>> It did solve some of the situations, but not all of them.
>> Here is where I still face issues.
>>
>> In my table row, I have an input field and a icon near it. I insert text
>> into input field and press the icon (AjaxLink component).
>>
>> 1. If data exists in the db for that input value, the data is shown in
>> others columns - OK, this works now.
>> 2. If data does not exist in the db for that input value, a popup window
>> opens allowing to insert the new values - NOK
>>     This does not work because  when coming back from the pop window the
>> row
>> is not refreshed with the new inserted values in the db.
>> 3. on change event of the input, the data from the others row cells should
>> be emptied - NOK, this does not work either.
>>
>> //this is how I get the row
>> MarkupContainer row = cellItem.findParent(Item.class);
>>
>> //change event
>> txt.add(new AjaxFormComponentUpdatingBehavior("change") {
>> private static final long serialVersionUID = 1654345477970524731L;
>>
>> @Override
>> protected void onUpdate(AjaxRequestTarget target) {
>>
>>
>> getModelObject().setValue1(null);
>> getModelObject().setValue2(null);
>>
>> target.add(row);
>> }
>>
>> });
>>
>>
>> Thank you for your help
>>
>>
>> On Wed, Nov 9, 2016 at 12:43 PM, Sven Meier <s...@meiers.net> wrote:
>>
>> Hi,
>>>
>>> I'm assuming you're using Ajax, so you should update the whole row after
>>> your behavior/component has changed the field.
>>>
>>> Each row item has to output a markup id, e.g. you can use a custom Item
>>> subclass that calls #setOutputMarkupId(true):
>>>
>>>      protected Item<T> newRowItem(final String id, final int index, final
>>> IModel<T> model)
>>>      {
>>>          return new RowItem<>(id, index, model);
>>>      }
>>>
>>> This has the advantage, that you can update the row from wherever you are
>>> inside the row:
>>>
>>>      @Override
>>>      protected void onUpdate(AjaxRequestTarget target) {
>>>          RowItem row = findParent(RowItem.class);
>>>          target.addComponent(row);
>>>      }
>>>
>>> Alternatively you can use Wicket event bubbling to notify the rowItem to
>>> update itself.
>>>
>>> Hope this helps
>>> Sven
>>>
>>>
>>>
>>> Am 09.11.2016 um 09:41 schrieb ganea iulia:
>>>
>>> Hello,
>>>>
>>>> I'm using wicket 7.5.
>>>> I have a DataTable, where one of the columns is an input textfield with
>>>> a
>>>> clickable icon near it. When providing data for the input field, and
>>>> clicking the icon, some validations are done, and the fields for other
>>>> columns should be updated accordingly.
>>>>
>>>> However they are not updated at all.
>>>> Could you please advise how I can implement this?
>>>>
>>>> Thank you.
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>>>
>>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

Reply via email to