【问题标题】:Datatable checkbox selection setting null数据表复选框选择设置 null
【发布时间】:2013-12-01 19:35:07
【问题描述】:

我已包含在 dataTable <p:column selectionMode="multiple" style="width:2%"/> 中,并为 dataTable selection="#{login.selectedAlarms}" 提供了一个数组,但在选择复选框时,它没有设置任何数组。选择所有复选框的同时数组也为空。

<p:dataTable id="eventsDataTable" value="#{login.lstAlaramDataByType}" 
             selection="#{login.selectedAlarms}"
             rowKey="#{item.id}" var="item" rowIndexVar="rowIndex">

    <p:column selectionMode="multiple" style="width:2%"/>

    <p:column id="vehicleId" headerText="vehicleId" width="60">
        <h:outputText value="#{item.vehicleId}"/>
    </p:column>
</p:dataTable>

Java 代码:

private List<AlarmDataBean> lstAlaramDataByType;
private AlarmDataBean[] selectedAlarms;

以及它们的 Setter 和 getter。

setSelectedAlarms 选择复选框时没有被调用。

我做错了吗?

【问题讨论】:

  • 可以发login bean 上面的方法吗?
  • 为避免显而易见,您是在选中复选框后提交表单吗?或者你真的只关注 setter 而不是真正的 action/listener 方法? Getter/setter 应该是您最不关心的问题。

标签: jsf-2 checkbox primefaces datatable


【解决方案1】:

为了查看对 setSelectedAlarms() 的调用,您需要提交表单(例如通过按钮),或者添加一个 ajax 事件,如下所示:

<p:datatable ...>
  <p:ajax event="rowSelectCheckbox"/>
  ...
</p:dataTable>

【讨论】:

    猜你喜欢
    • 2012-08-16
    • 2018-01-10
    • 1970-01-01
    • 2012-08-30
    • 2017-02-18
    • 2014-10-14
    • 1970-01-01
    • 2012-10-01
    • 1970-01-01
    相关资源
    最近更新 更多