javascript - 使用 columnToggler 获取 toggleEvent 中的列组件对象

标签 javascript jquery ajax jsf primefaces

我在获取 Column 组件对象时遇到问题。

这里是应该实现的逻辑:

  1. 用户使用 primefaces columnToggler 切换表格列(当用户点击复选框时,调用 ajax 监听器方法)
  2. 在监听器方法中,我必须检索 Column 组件对象并调用在数据库中存储 Column 组件对象及其可见性参数的方法,以便在页面加载时检索它。

基本上这只是一个简单的用户唯一的复选框-列-可见性“记住”的事情。

现在,一切正常,我在用户切换其中一个复选框时调用 ajax 监听器方法:

<p:commandButton id="columnToggler" type="button" value="Columns"/>
<p:columnToggler datasource="grid" trigger="columnToggler">
<p:ajax event="toggle" listener="#{bean.onColumnToggle}"/>
</p:columnToggler>

问题是我不知道如何获取 Column 组件对象,因为与 cellEditEvent 不同,toggleEvent 没有返回 Column 对象的 getColumn() 方法。

有没有人知道如何获得它?

最佳答案

Optional toggle ajax behavior is provided by columnChooser component to listen to toggle events at server side. Listener of this behavior gets an org.primefaces.event.ToggleEvent as a parameter that gives the visibility and index of the column being toggled.

请试试这个例子:

<p:growl id="growl" showDetail="true" sticky="true" />
...
<p:commandButton id="columnToggler" type="button" value="Columns" />            
<p:columnToggler datasource="grid" trigger="columnToggler">
    <p:ajax event="toggle" listener="#{bean.onColumnToggle}" update="growl"/>
</p:columnToggler>

在你的bean中:

public void onColumnToggle(ToggleEvent event) {
    final Visibility visibility = event.getVisibility();
    final FacesMessage msg = new FacesMessage();

    msg.setSummary("Column index " + event.getData().toString() + " toggled");
    msg.setDetail("Visibility: " + visibility);
    FacesContext.getCurrentInstance().addMessage(null, msg);
}

关于javascript - 使用 columnToggler 获取 toggleEvent 中的列组件对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30976837/

相关文章:

javascript - 刷新后浏览器的 "return to original position"发生在 Javascript 事件链的哪个位置?

javascript - 没有提交按钮的 FormData

jquery - 415 不支持的媒体类型从 $.ajax 调用 WCF 服务

javascript - 在php中使用ajax向mysql数据库中插入数据

ajax - 如何将 KendoUI 数据源读取从 GET 更改为 POST 请求?

javascript - 物化模式关闭时如何清除输入字段?

Javascript - 自动视频播放列表

javascript - 迭代父节点中输入的子节点

javascript - jQuery ContextMenu 事件在 IOS 8.2 中不起作用

javascript - Mootools:ajax 请求时延迟旋转图标