我使用primefaces datatable进行基于复选框的选择,并尝试实现给定的示例。他们使用Model,比如userModel,它可以实现SelectableDataModel接口。我不想使用model,所以我使用rowKey来实现这个目的。
E. g.
数据表。xhtml
<p:dataTable id="table" var="item" value="#{userBean.allItems}"
paginatorPosition="bottom" paginator="true" rows="3"
selection="#{userBean.selectedItems}" rowKey="#{item[0]}">
<p:column selectionMode="multiple"/>
<p:columns value="#{userBean.itemColHeader}" columnIndexVar="colIndex" var="colName" >
<f:facet name="header" >
<h:outputText value="#{colName}"/>
</f:facet>
<h:outputText value="#{item[colIndex]}"/>
</p:columns>
</p:dataTable>
在这里
allItems=ArrayList
selectedItems=ArrayList
selectedItems=ArrayList
userBean。Java语言
@ManagedBean(name="userBean")
@ViewScoped
public class userBean implements SelectableDataModel {
private ArrayList<ArrayList<String>> selectedItems;
public ArrayList<ArrayList<String>> getSelectedItems() {
return selectedItems;
}
public void setSelectedItems(ArrayList<ArrayList<String>> selectedUsers) {
this.selectedItems = selectedItems;
}
}
我的问题:
1) When I select mulitple rows, selectedUsers remains empty.
2) After selecting next page, previous selection get lost.
我浏览了@BelusC博客,发现绑定是可能的解决方案,但无法用他的说明解决我的问题。需要转换器吗...?我的方法有什么问题吗?谢谢
更新:1
使用Arraylist的Arraylist(allItems)背后的原因只是为了使可数据化的泛型。在绘制数据表时,我不需要为列的否而烦恼。这就是为什么我想检索不应该依赖于对象的选定项目(如:car[]selectedcar)
正确答案:只能通过复选框选择日期
您可以使用rowSelectionMode="add"
解决此问题
rowKey="#{Item[0]}"
对我没有意义。它将在每次迭代中指向相同的(0)对象。而在dataTable演示中,它指向当前的car.model
。
您是否尝试更改为#{item}?
我也有类似的问题,我用
首先,我会按照akoskm所说的做,并有一个唯一的行键。
然后我将使用一个数组(
List
最后,您可以添加:
<p:dataTable ...>
<p:ajax event="rowSelectCheckbox" process="@this"/>
<p:ajax event="rowUnselectCheckbox" process="@this"/>
<p:ajax event="toggleSelect" process="@this"/>
</p:dataTable>
只需确保您有一个<代码>
这将确保组件将数据推送到bean。但我不确定它是否能解决分页问题,请告诉我。
我有三个表、和。 表:电影#title---------1电影-1 2电影-2 3电视-1 表:类别#标题--------1恐怖2喜剧3(电视)4科幻 表:Movie_Categories#movie_id category_id---------------1 1 1 2 2 4 3 3 3 4 3 4 我正在尝试提取只有的记录 如果我使用而不是,那么它将显示具有所选类别之一的所有记录。 我做错
在编辑JavaScript时,我想在代码中选择一个短语,并用大括号将其包装起来。 例如,在Sublime Text中,默认行为是当我点击键并选中时,它会被转换为。但在Webstorm中,它会被转换为。 我如何改变这种行为?
我正在尝试在选择选项中更改选择的颜色。我试图这样做: 但它不起作用。这只适用于简单文本,不适用于选项。有什么方法可以改变选择的颜色吗?我不需要更改所选选项的背景。我需要改变选择的颜色。
问题内容: 我有两个mysql表。 第一个称为“选择”,由id,user_id和widget_id字段组成。 另一个称为“小部件”,包括widget_id等几项内容。 我创建了一个过滤器,以便用户可以显示他/她选择的小部件,也可以显示他/她没有选择的小部件。对于他选择的人,我使用以下方法: 但是,我不知道如何显示他/她没有选择的内容。这不起作用(显示所有内容): 我该怎么做呢? 问题答案: 使用N
问题内容: 我想选择位于最右侧的某个字符(-)之后的所有内容。 例如。 我想选择零件 谢谢! 问题答案: 您可以使用:
就像渲染器和编辑器听起来一样简单,尽管有十几个这样的书签,我还是回到类似的问题上,我缺少了一些基本的东西。我想把任何旧的文本文件拖到一个2列的JTable中,让第一列显示文件名,第二列包含一个JComboBox,它的选项取决于拖动文件的内容。(在下面的代码中,我只是伪造了几个条目。) 这一切都正常工作,直到我从一个组合框中做出一个选择--该选择不显示--只是一个组合框,正确填充但没有做出选择。我知