Hi Cemal,

Thanks for replying me,but the list gets rendered only once,and i am able to
capture previous value on click but then how to move further.


Regards
P

jWeekend wrote:
> 
> Prati,
> 
> This is because you are only re-rendering the most recently selected
> label.
> 
> One solution is keep track of the previous "current selection"
> (probably in your RefreshingView implementation - eg declare
> "Component currentSelection;"), which you update in your Link's
> onClick (ie "currentSelecton = contactLabel;") _after_ you remove the
> style attribute (that you previously set) on currentSelection and add
> currrentSelection to the AjaxRequestTarget so it too gets refreshed.
> 
> Make sense?
> 
> Regards - Cemal
> jWeekend
> OO & Java Technologies, Wicket
> Consulting, Development, Training
> http://jWeekend.com
> 
> On 11 March 2010 18:09, prati <pratibha.pari...@gmail.com> wrote:
>>
>> Hi
>>
>> I have got a refreshing view ,it contains list of links.I need to
>> highlight
>> the link when i click on that link.
>>
>> It works properly but if i click the next item in the list,the previous
>> text
>> remains highlighted.
>>
>> <wicket:extend>
>>
>> <table cellspacing="0" class="dataview">
>>    <tr>
>>
>>        <th>First Name</th>
>>
>>    </tr>
>>    <tr wicket:id="view">
>>        <td> #     </td>
>>
>>    </tr>
>> </table>
>>
>> </wicket:extend>
>>
>>
>>
>> public class RefreshingPage extends BasePage {
>>
>>
>>        public RefreshingPage()
>>        {
>>                final List<IModel> contacts = new ArrayList<IModel>(10);
>>
>>                // populate list of contacts to be displayed
>>
>>                Iterator<Contact> it = rgetContacts().iterator();
>>                while (it.hasNext())
>>                {
>>                        contacts.add(new Model(it.next()));
>>                }
>>
>>                // create the refreshing view
>>                RefreshingView view = new RefreshingView("view")
>>                {
>>                        /**
>>                         * Return an iterator over models for items in the
>> view
>>                         */
>>                       �...@override
>>                        protected Iterator<IModel> getItemModels()
>>                        {
>>                                return contacts.iterator();
>>                        }
>>
>>                       �...@override
>>                        protected void populateItem(final Item item)
>>                        {
>>                                Contact contact = (Contact)
>> item.getModelObject();
>>
>>                                final Label contacteLabel = new
>> Label("aname",contact.getName());
>>                                contacteLabel.setOutputMarkupId(true);
>>
>>                                item.add(new AjaxLink("name") {
>>
>>                                        private static final long
>> serialVersionUID = 1L;
>>
>>                                       �...@override
>>                                        public void
>> onClick(AjaxRequestTarget target) {
>>
>>                                                if(target!= null) {
>>                                                      
>>  contacteLabel.add(new
>>                                                                      
>>  AttributeModifier("style", true, new AbstractReadOnlyModel() {
>>                                                                          
>>     �...@override
>>                                                                          
>>      public String getObject() {
>>                                                                          
>>              return "background-color:#80b6ed;";
>>                                                                          
>>      }
>>                                                                      
>>  }));
>>                                                      
>>  target.addComponent(contacteLabel);
>>                                                }
>>
>>                                        }
>>
>>
>>
>>                                }.add(contacteLabel));
>>                        }
>>                };
>>
>>                add(view);
>>
>>
>>        }
>> }
>>
>>
>> Regards
>> P
>>
>>
>> moontz wrote:
>>>
>>> i tried that before.  did not work.  no compile or runtime errors, but
>>> the
>>> source did not show the change.
>>>
>>> im thinking, since its an ajax link and because only the target panel
>>> refreshes, the change to the link is not applied because the actual link
>>> is not refreshed.  only the other panel is.  in which case i would need
>>> to
>>> append javascript.  i was hping there was a pure wicket solutioin though
>>> without using JS.
>>>
>>>
>>>
>>> igor.vaynberg wrote:
>>>>
>>>> final ListItem item
>>>>
>>>> -igor
>>>>
>>>> On Fri, Feb 13, 2009 at 7:36 AM, moontz <bmun...@yahoo.com> wrote:
>>>>>
>>>>> I would like to add an attribute to the ListItem element in the markup
>>>>> (basically change the class style) on click of the link.  Below is my
>>>>> snippet.  Any insight on how I can accomplish this?  Thanks in
>>>>> advance!
>>>>>
>>>>> ListView lv = new ListView("tabListView", tabList) {
>>>>>                 protected void populateItem(ListItem item) {
>>>>>                         AjaxLink ajaxLink = new AjaxLink("tabLink",
>>>>> item.getModel()) {
>>>>>                           public void onClick(AjaxRequestTarget
>>>>> target)
>>>>> {
>>>>>                                        item.add(new
>>>>> SimpleAttributeModifier("class", "on"));  //
>>>>> want to do this but do not have access to item object from inner class
>>>>> --
>>>>> ideas for this?
>>>>>                                             .
>>>>>                                             .
>>>>>                                             .
>>>>>
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://www.nabble.com/How-to-access-ListItem-from-ListView-from-AjaxLink--tp21998739p21998739.html
>>>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> 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
>>>>
>>>>
>>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://old.nabble.com/How-to-access-ListItem-from-ListView-from-AjaxLink--tp21998739p27867306.html
>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> 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
> 
> 
> 

-- 
View this message in context: 
http://old.nabble.com/How-to-access-ListItem-from-ListView-from-AjaxLink--tp21998739p27870307.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to