gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 16:47:46 25 4
gpt4 key购买 nike

我在获取 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com