Pessoal, fiz um DataTable, porem ele nao esta carregand os dados e meu datamodelitens esta com itens dentro e detalhe não da nenhum erro.
segue abaixo o meu codigo :
<p:commandButton value="Gerar Guia" actionListener="#{testeBean.localizar}" update=":form:multiCars1" style="height: 35px; font-size: 12px"/>
<p:dataTable id="multiCars2" var="itens" value="#{testeBean.datamodelitens}" paginator="true" rows="10"
selection="#{testeBean.selecteditenss}"
>
<p:column selectionMode="multiple" style="width:2%" />
<p:column headerText="codguia" style="width:25%">
#{itens.itensguiasolPK.codguia}
</p:column>
<f:facet name="footer">
<p:commandButton id="multiViewButton" value="View" icon="ui-icon-search"
update=":form:displayMulti1" oncomplete="multiCarDialog1.show()"/>
</f:facet>
</p:dataTable>
<p:dialog id="multiDialog1" header="Car Detail" widgetVar="multiCarDialog1"
height="300" showEffect="fade" hideEffect="explode">
<p:dataList id="displayMulti1" value="#{testeBean.selecteditenss}" var="selectedCar2">
codguia: #{selectedCar2.itensguiasolPK.codguia}
id : #{selectedCar2.itensguiasolPK.id}
</p:dataList>
</p:dialog>
***************************************************View
Bean
public void localizar() {
itenscadguiasol= new ArrayList<Itensguiasol>();
itenscadguiasol.add(new Itensguiasol(9,1));
itenscadguiasol.add(new Itensguiasol(9,2));
itenscadguiasol.add(new Itensguiasol(9,3));
itenscadguiasol.add(new Itensguiasol(25,1));
itenscadguiasol.add(new Itensguiasol(25,4));
itenscadguiasol.add(new Itensguiasol(26,1));
itenscadguiasol.add(new Itensguiasol(27,1));
datamodelitens = new ItensguiasolDataModel(itenscadguiasol);
System.out.print("fasfasdsd");
}
****************************************************************
public class ItensguiasolDataModel extends ListDataModel<Itensguiasol> implements SelectableDataModel<Itensguiasol>{
private static final long serialVersionUID = 664021716973805139L;
public ItensguiasolDataModel() {
}
public ItensguiasolDataModel(List<Itensguiasol> data) {
super(data);
}
@Override
public Itensguiasol 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<Itensguiasol> itensguia = (List<Itensguiasol>) getWrappedData();
for(Itensguiasol itensguias : itensguia) {
String codigo;
String variavelid;
String codigocompleto;
Integer vcodguia = itensguias.getItensguiasolPK().getCodguia();
Integer vid = itensguias.getItensguiasolPK().getId();
codigo = new String(vcodguia.toString());
variavelid = new String(vid.toString());
codigocompleto =codigo+" "+variavelid;
if(codigocompleto.equals(rowKey)) {
return itensguias;
}
}
return null;
}
@Override
public Object getRowKey(Itensguiasol itensguias) {
/// return itensguias.getItensguiasolPK().getCodguia();
return itensguias.getItensguiasolPK().getCodguia()+" "+itensguias.getItensguiasolPK().getId();
}