我有一个数据表和一个收集器。datatable中的每一行都有一个按钮,该按钮将相应的行添加到收集器。我想给这个数据表添加条件着色。条件是所选行是否在收集器中。
<p:dataTable rowStyleClass="#{backingBean.selectedMemberList.contains(aMember) ? 'passive' : 'active'}" style="width: 100%;" id="dTable" var="aMember" value="#{backingBean.memberList}">
<p:column>
...
</p:column>
<p:column>
<p:commandButton id="btn_add" value="Add" update=":mf:op" process=":mf:op_uk">
<p:collector value="#{aMember}" addTo="#{backingBean.selectedMemberList}" />
</p:commandButton>
</p:column>
支持bean:
List<Member> selectedMemberList;
List<Member> memberList;
//getter and setter methods
上面的代码执行被动样式类,但不添加主动样式。我认为这可能是因为我无法将var(请求范围)传递给支持bean。所以我尝试将该值绑定到支持bean值:
<p:dataTable binding="#{backingBean.anotherMember}" rowStyleClass="#{backingBean.selectedMemberList.contains(aMember) ? 'passive' : 'active'}" style="width: 100%;" id="dTable" var="aMember" value="#{backingBean.memberList}">
backingBean:
private Member anotherMember;
//getter and setter methods
但也没有奏效,有人对这个问题有什么推荐吗?
PrimeFaces版本2.2.1
编辑:css包含以下字段:
.active{
background-image: none !important;
}
.passive{
background-color:gainsboro !important;
background-image: none !important;
}
编辑
xhtml:
<p:commandButton action="#{backingBean.checkIfMemberInList(aMember)}" id="btn_add" value="Add" update=":mf:op :mf:op_uk" process=":mf:op_uk">
<p:collector value="#{ukt}" addTo="#{backingBean.selectedMemberList}" />
</p:commandButton>
支持bean:
public boolean checkIfMemberInList(Member aMember){
for(int i=0; i<selectedMemberList.size();i++){
if(selectedMemberList.contains(aMember)){
return true;
}
}
return false;
}
可以是backingBean.selectedMemberList吗。包含(aMember)始终返回false?
如果是这样,
使用backingBean.selectedMemberList“播放”。包含(aMember),请先尝试backingBean之类的方法。检查成员列表(aMember),
boolean checkIfMemberInList(Member iMember){
//iterate over the list and check if object exists , if so return true , otherwise false
}
可能是对象不同…相同的id并不意味着它们的哈希代码相同。。。
您可以考虑重写成员类的int hashCode或布尔等式
编辑
我对checkIfMemberInList的建议只是第一个使其工作的版本,我真的认为您应该重写成员类的等号,这样您就可以使用selectedMemberList.contains(memberObj)
实现hashCode()和equals()
Update 语句 uodate为更新也就相当于修改 Update 语句用于修改表中的数据。 语法: UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 更新某一行中的一个列 我们为 lastname 是 "Wilson" 的人添加 firstname: UPDATE Person SET FirstName = 'beijing' WHERE LastName = 's
问题内容: 我正在MVC 4应用程序中工作..我想使用jQuery将json数据绑定到应用程序中的表。我能够使用方法将数据集(我从数据库中获取数据)转换为json数据并获取json数据。但是我不知道如何使用jquery将其绑定到表。请告诉我解决此问题的方法。 JSon数据 : 我的json数据是这样的。 jQuery : 查看 : 控制器 : 问题答案: 首先,您应该将返回的json 字符串 解析
问题内容: 我有麻烦在HTML5中,我有10000行,以显示我在使用PHP的值,我填充从MySQL,由于某种原因,我看不到任何滚动条,我试图设置和,但没有帮助。请帮我! 问题答案: 不幸的是,使用datalist属性并不能做很多事情。数据列表当前不支持任何CSS样式,并且特定的视觉特征是特定于浏览器的。某些浏览器可能选择为长列表添加滚动条。 如果这是不可接受的,则可能必须忘记数据列表,并通过Jav
问题内容: 我想在bokeh中显示一个DataTable,根据单元格的文本内容,单元格是红色还是橙色。 例如,如果单元格包含单词“错误”,则该单元格将以红色背景显示。如果单元格包含“警告”一词,则为橙色。 我相信我应该使用,但是怎么用呢? 我该怎么做? 谢谢 问题答案: 浏览文档,您可以使用HTMLTemplateFormatter和下划线js格式化表格。有关更多信息,请参见http://docs
本文向大家介绍SpringMVC实现数据绑定及表单标签,包括了SpringMVC实现数据绑定及表单标签的使用技巧和注意事项,需要的朋友参考一下 首先理解数据绑定 为什么要使用数据绑定 基于HTTP特性,所有的用户输入的请求参数类型都是String,比如下面表单: 但我们提交后,为了将请求信息映射到模型中,还需要手动进行格式转换,此外还借助了一个中转对象productForm,其字段名称和Produ
AngularJS中的数据绑定就是模型与视图间的自动同步。这种实现方式让你能专心地处理你的模型。视图总是模型的投影。当模型改变,视图就会反映这种改变,反之亦然。 传统的模板系统数据绑定 大部分模板系统都是这种绑定方式。 方向:如图所示,它们将模型和模板结合生成视图。这个结合过程产生的视图不是动态更新的。更糟的是,任何用户和视图的交互都不会反映到模型。这意味着开发者要自动写视图和模型双向的同步代码。