Wicket Custom Pagination

时间:2014-06-27 11:55:01

标签: pagination wicket

我一直试图尝试实现像

这样的东西

<< < (文本框)(totalnumberofpages)> >>

对此有任何建议

提前致谢...

1 个答案:

答案 0 :(得分:1)

如果您正在寻找DataView中的分页,那么启用分页所需要做的就是在数据视图上调用setItemsPerPage(int)。

请查看以下示例 JAVA 代码

    public class RepeatingPage extends BasePage
{
    private static final long serialVersionUID = 1L;

    /**
     * Constructor
     */
    public RepeatingPage()
    {
        Iterator<Contact> contacts = new ContactDataProvider().iterator(0, 10);

        RepeatingView repeating = new RepeatingView("repeating");
        add(repeating);

        int index = 0;
        while (contacts.hasNext())
        {
            AbstractItem item = new AbstractItem(repeating.newChildId());

            repeating.add(item);
            Contact contact = contacts.next();

            item.add(new ActionPanel("actions", new DetachableContactModel(contact)));
            item.add(new Label("contactid", String.valueOf(contact.getId())));
            item.add(new Label("firstname", contact.getFirstName()));
            item.add(new Label("lastname", contact.getLastName()));
            item.add(new Label("homephone", contact.getHomePhone()));
            item.add(new Label("cellphone", contact.getCellPhone()));

            final int idx = index;
            item.add(AttributeModifier.replace("class", new AbstractReadOnlyModel<String>()
            {
                private static final long serialVersionUID = 1L;

                @Override
                public String getObject()
                {
                    return (idx % 2 == 1) ? "even" : "odd";
                }
            }));

            index++;
        }
    }
}

HTML 代码

<wicket:extend xmlns:wicket="http://wicket.apache.org">
<br/><br/>

<table cellspacing="0" class="dataview">
    <tr>
        <th>Actions</th>
        <th>ID</th>
        <th>First Name</th>
        <th>Last Name</th>
        <th>Home Phone</th>
        <th>Cell Phone</th>
    </tr>
    <tr wicket:id="repeating">
        <td><span wicket:id="actions">[actions]</span></td>
        <td><span wicket:id="contactid">[contactid]</span> </td>
        <td><span wicket:id="firstname">[firstname]</span></td>
        <td><span wicket:id="lastname">[lastname]</span></td>
        <td><span wicket:id="homephone">[homephone]</span></td>
        <td><span wicket:id="cellphone">[cellphone]</span></td>
    </tr>
</table>

</wicket:extend>

如果您需要在listView中进行分页,请检查PageableListView