Pessoal estou com problemas para fazer paginação por demanda, estou usando Prime 3.0 M3.
XHTML:
<p:dataTable id="dtCarreta" value="#{carretaMBean.mediumCarsModel}" lazy="true" var="item" paginator="true" rows="5"
emptyMessage="#{msgs.dtVazia}" rowsPerPageTemplate="5,10,15" selection="#{carretaMBean.selectedCars}"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink}
{LastPageLink} {RowsPerPageDropdown}" rowStyleClass="#{empty rowIx or rowIx mod 2 ne 0 ? 'even-row' : 'odd-row'}"
rowIndexVar="rowIx">
........
</p:dataTable>
Bean:
[code]private List cars;
private Carreta selectedCar = new Carreta();
private Carreta[] selectedCars;
private CarDataModel mediumCarsModel;
public CarretaMBean() {
cars = new ArrayList<Carreta>();
mediumCarsModel = new CarDataModel(cars);
}
public Carreta[] getSelectedCars() {
return selectedCars;
}
public void setSelectedCars(Carreta[] selectedCars) {
this.selectedCars = selectedCars;
}
public Carreta getSelectedCar() {
return selectedCar;
}
public void setSelectedCar(Carreta selectedCar) {
this.selectedCar = selectedCar;
}
public CarDataModel getMediumCarsModel() {
return mediumCarsModel;
}
public List<Carreta> getCars() {
return cars;
}
public void setCars(List<Carreta> cars) {
this.cars = cars;
}[/code]
Bean que faz a paginação:
[code]public CarDataModel() {
}
public CarDataModel(List<Carreta> data) {
super(data);
}
@Override
public Carreta getRowData(String rowKey) {
//In a real app, a more efficient way like a query by rowKey should be implemented to deal with huge data
List<Carreta> cars = (List<Carreta>) getWrappedData();
for(Carreta car : cars) {
if(car.getCodigocarreta().equals(rowKey))
return car;
}
return null;
}
@Override
public Object getRowKey(Carreta car) {
return car.getCodigocarreta();
}[/code]
O problema é que não aparece nenhum dado na tabela. Alguém tem alguma ideia pra me dar ???