Pessoal, fiz um datatable com checkbox para selecionar, porem não estou conseguindo selecionar o registro atraves do checkbox.
O checkbox nao fica marcado quando clico nele
e detalhe não da nenhum erro.
public class Itensguiasol implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
protected ItensguiasolPK itensguiasolPK;
@Column(name = "qtdsol")
private Integer qtdsol;
@Column(name = "qtdaut")
private Integer qtdaut;
// @Max(value=?) @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation
@Column(name = "ch")
private BigDecimal ch;
@Column(name = "filme_m2")
private BigDecimal filmeM2;
@Column(name = "status")
private Character status;
@Size(max = 100)
@Column(name = "mensagem")
private String mensagem;
@Size(max = 1)
@Column(name = "auditoria")
private String auditoria;
@Size(max = 1)
@Column(name = "statusaud")
private String statusaud;
@Column(name = "dataaud")
@Temporal(TemporalType.DATE)
private Date dataaud;
@Size(max = 200)
@Column(name = "obsaud")
private String obsaud;
@Column(name = "valfator")
private BigDecimal valfator;
@Column(name = "codsitubloq1")
private Integer codsitubloq1;
@Column(name = "codsitubloq2")
private Integer codsitubloq2;
@Column(name = "codsitubloq3")
private Integer codsitubloq3;
@Column(name = "codsitubloq4")
private Integer codsitubloq4;
@Column(name = "codsitubloq5")
private Integer codsitubloq5;
@Column(name = "dataval")
@Temporal(TemporalType.DATE)
private Date dataval;
@JoinColumns({
@JoinColumn(name = "codtab", referencedColumnName = "codtab"),
@JoinColumn(name = "codproc", referencedColumnName = "codproc"),
@JoinColumn(name = "seqproc", referencedColumnName = "seqproc")})
@ManyToOne
private Tabproc tabproc;
@JoinColumn(name = "codguia", referencedColumnName = "codguia", insertable = false, updatable = false)
@ManyToOne(optional = false)
private Cadguiasol cadguiasol;
*****************************************
@Embeddable
public class ItensguiasolPK implements Serializable {
@Basic(optional = false)
@NotNull
@Column(name = "codguia")
private int codguia;
@Basic(optional = false)
@Column(name = "id")
private int id;
*********************************************
public class ItensguiasolDataModel extends ListDataModel<Itensguiasol> implements SelectableDataModel<Itensguiasol>{
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> cars = (List<Itensguiasol>) getWrappedData();
for(Itensguiasol car : cars) {
if(car.getObsaud().equals(rowKey)) {
return car;
}
}
return null;
}
@Override
public Object getRowKey(Itensguiasol car) {
return car.getObsaud();
}
}
**************************************************************
Bean
listaitens=itemguia;
mediumCarsModel = new ItensguiasolDataModel(itemguia);
****************************************************************
View
<p:dataTable id="multiCars" var="car" value="#{cadguiaMbeanexec.mediumCarsModel}" paginator="true" rows="10"
selection="#{cadguiaMbeanexec.selectedCars}">
<f:facet name="header">
Checkbox Based Selection
</f:facet>
<p:column selectionMode="multiple" style="width:2%" />
<p:column headerText="Model" style="width:25%">
#{car.itensguiasolPK.codguia}
</p:column>
<p:column headerText="Year" style="width:25%">
#{car.tabproc.descricao}
</p:column>
</p:dataTable>