2010-12-15 5 views
1

Wicket의 PagingNavigator에 문제가있어서 왜 그걸 가지고 있는지 이해할 수 없습니다. 여기에, 나는 HTML 파일에서는 DataView를PagingNavigator에서 URL을 생성하지 않는 이유는 무엇입니까?

dataView = new DataView("pageableTicketsList", provider){ 
    protected void populateItem(final Item item) { 
     //Somes codes here 
    }; 
navigator = new PagingNavigator("navigator", dataView); 
dataView.setItemsPerPage(30); 
addOrReplace(dataView); 
addOrReplace(navigator); 

와 PagingNavigator를 사용하는 것을 원하고, 나는 단순히 있습니다

<wicket:enclosure child="navigator">  
<div class="navigator"> 
     <span wicket:id="navigator" ></span> 
    </div>  
</wicket:enclosure> 

나는 웹 브라우저에서 테스트, 사실, 나는이 페이지 번호로 표시 :

< < < 1 2 3 4 5 6 7 8 9 10> >>

하지만 그들 중 어느 클릭한다.

<a href="?wicket:interface=:13:mypage:navigator:navigation:0:pageLink:4:ILinkListener::"><span>1</span> 
</a> 

대신에, 난 그냥 내가 무슨 일을하고,

<span>1</span> 

내가 그것을하지 않는 데 :

나는 URL이 제대로 다음과 같이 생성되지 않습니다 방화범 보았다 잘못된 ? 여기

내 공급자의 코드

public class MyProvider implements IDataProvider { 

    private List<Ticket> ticketsList; 

    public MyProvider(TicketService ticketService // and some paramaters){ 
      ticketsList = ticketService.getListBy(//the parameters); 
    } 

    public Iterator iterator(int first, int count) { 
    return ticketsList.subList(first, first + count).iterator(); 
    } 

    public IModel model(final Object object) { 
      return new LoadableDetachableModel() { 
      @Override 
       protected Object load() { 
       return (Ticket)object; 
      }}; 
    } 

    public int size() { 
    return ticketsList.size(); 
    } 

    public void detach() { 

    } 

    public List<Ticket> getTicketsList() { 
    return ticketsList; 
    } 

    public void setTicketsList(List<ListTicketsExtranetView> ticketsList) { 
    this.ticketsList = ticketsList; 
    } 
} 

반환 size() 방법 올바른 가치와 진정한 navigator.isEnabled() 반환 내 문제가 어디서 왔는지

글쎄, 파고의 전체 하루를 보낸 후, 나는 마침내 발견

from : WebMarkupContainer을 제거하면 WebMarkupContainer이 내 페이지에 추가되고, PagingNavigator은 정상적으로 작동합니다. 그들 중 2 명 사이에 의존성은 없지만, 티켓 목록이 비어 있거나없는 경우 메시지를 표시하기 위해 WebMarkupContainer을 사용합니다. 에 영향을 미치는 것은 WebMarkupContainer입니다.

+0

Ajax를 사용하고 있습니까? 그렇다면'PagingNavigator'를 요청 대상에 추가 했습니까? – gnuf

+0

아니요, 아약스를 사용하고 있지 않습니다. – dagofly

+0

WebMarkupContainer 정보 : 더 많은 코드를 보지 않고 말하기가 어렵습니다. 좀 더 자부심을 가질 수 있습니까? – bert

답변

0

코드가 올바르게 표시됩니다. 장애가있는 항목을 설정 했습니까

setEnabled (false);

이는 계층 구조 아래의 구성 요소에 영향을줍니다. 차이가 없다면 더 많은 코드를 게시 해보십시오.

+0

나는'navigator.setEnabled (false)'를 찾았지만 어쨌든'navigator.setEnabled (true)'를 추가했지만 T_T가 변경되지 않았습니다. – dagofly

1

IDataProvider을 구현하는 클래스의 코드를 게시 할 수 있습니까? SortableDataProvider? size() 메서드가 올바른 값을 반환하지 않으면 표시되는 동작이 발생할 수 있습니다.

관련 문제