This can be implemented in a better way. See source code for navigation in
wicket. But here is a simple example

// Create a panel 

import java.util.LinkedList;
import java.util.List;

import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.LoadableDetachableModel;

public abstract class AlphabeticalPanel extends Panel{
        private static final long serialVersionUID = 1L;

        public AlphabeticalPanel(String id) {
                super(id);
                
                IModel<List<String>> alphabeticalModel = new
LoadableDetachableModel<List<String>>(){
                        private static final long serialVersionUID = 1L;

                        @Override
                        protected List<String> load() {
                                List<String> alphabet = new 
LinkedList<String>();
                                char letter;
                                for(letter = 'A'; letter <= 'Z'; letter++) {
                                alphabet.add( "" + letter );
                        }
                                return alphabet;
                        }
                
        };
        
        ListView<String> alphabeticalView = new ListView<String>(
"alphabeticalView",alphabeticalModel ){
                        private static final long serialVersionUID = 1L;

                        @Override
                        protected void populateItem(ListItem<String> item) {
                                final String character = item.getModelObject();
                                AjaxLink<Void> link = new AjaxLink<Void>( 
"link" ){
                                        private static final long 
serialVersionUID = 1L;

                                        @Override
                                        public void onClick(AjaxRequestTarget 
target) {
                                                
onCharacterClicked(character,target);
                                        }
                                };
                                
                                link.add( new Label( "character" , character ));
                                item.add( link );
                        }
                
        };
        
        add( alphabeticalView );
        }
        
        public abstract void onCharacterClicked( String character,
AjaxRequestTarget target );

}


// Add the panel to a page

add( new AlphabeticalPanel( "panel" ){
                        private static final long serialVersionUID = 1L;

                        @Override
                        public void onCharacterClicked(String 
character,AjaxRequestTarget target)
{
                                // Here you get the char. Get the data from 
database and add another
view with the data

                        }
        });
-- 
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/alphabetical-paging-navigator-tp2837010p2859832.html
Sent from the Users forum 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