jeudi 19 mars 2015

Can't select checkbox in primefaces datatable using selection

I have a dataTable in primefaces and wish to select multiple rows, but the checkbox doesn't highlight when I hover over it and can't be selected when I click.


The checkbox is definitely enabled. Here is the code:



<p:dataTable id="deferDatatable2"
value="#{deferMaintenanceTasksBean.tasksList}"
var="tasks"
rowKey="tasks.jobId"
selection="#{deferMaintenanceTasksBean.maintenanceTaskDatas}"
styleClass="editable-datatable" >
<p:ajax event="toggleSelect"
listener="#{deferMaintenanceTasksBean.toggleSelect()}" />
<p:ajax event="rowSelectCheckbox"
update="deferDatatable2" />
<p:ajax event="rowUnselectCheckbox"
update="deferDatatable2" />
<p:ajax event="rowSelect"
update="deferDatatable2" />
<p:ajax event="rowUnselect"
update="deferDatatable2" />

<p:column styleClass="select-column"
rendered="#{tasks.task.deferrable == 'true'}"
selectionMode="multiple" >

</p:column>
<p:column headerText="Task Code"
rendered="#{tasks.task.deferrable == 'true'}">
<h:outputText value="#{tasks.task.taskCode}" />
</p:column>
<p:column headerText="Job Code"
rendered="#{tasks.task.deferrable == 'true'}">
<h:outputText value="#{tasks.jobCode.code}" />
</p:column>
<p:column headerText="Description"
rendered="#{tasks.task.deferrable == 'true'}">
<h:outputText value="#{tasks.task.description}" />
</p:column>
<p:column headerText="Safety Critical"
rendered="#{tasks.task.deferrable == 'true'}">
<p:selectBooleanCheckbox value="#{tasks.task.safetyCritical}"
disabled="true" />
</p:column>
<p:column headerText="Deferrable?"
rendered="#{tasks.task.deferrable == 'true'}">
<p:selectBooleanCheckbox value="#{tasks.task.deferrable}"
disabled="true" />
</p:column>
<p:column headerText="Att."
rendered="#{tasks.task.deferrable == 'true'}">
<h:outputText id="i4AttachmentOutLbl"
value="#{tasks.task.attachmentCount}" />
</p:column>
</p:dataTable>


Inside the toggleSelect method there is just a log so I could see if the method is being called even though the checkboxes aren't being checked, but it isn't.


Like I say, the checkboxes all render as does everything else, and they aren't faded as if they were disabled, but they behave as if they were disabled. I have tried removing the styleClasses to see if they were somehow affecting things, but they aren't.


I have other working examples of this within my project and from what I can see I have set this dataTable up exactly the same, but for some reason it isn't working. The xhtml has the same ui:compposition and same outputStylesheets and outputScripts as these other pages and same basic layout, so I am convinced there is something I have missed from the dataTable, but no clue what.


Any suggestions appreciated.


Thanks





2 commentaires: