여기에 가장 필요한 것은 무엇이든지, 적어도 일반 아이디어를 얻을 수 있습니다.
귀하의 XHTML은 다음과 같아야합니다
public <T> T peek(ListIterator<T> iter) throws NoSuchElementException {
T obj = iter.next();
iter.previous();
return obj;
}
경우 MyObject
: peek
방법은 다음과 같습니다 어디
<p:dataTable var="myLittleWrapper" value="#{myBean.modified}">
<p:column headerText="PATH">
<h:outputText value="#{myLittleWrapper.myObject.path}" styleClass="#{(myLittleWrapper.colorMe)?'equalMembers':''}"/>
</p:column>
...
는 다음과 같은 방법을 (당신에게서 @PostConstruct
를 호출)
List<MyObject> original = new ArrayList<MyObject>();//fill it with data
List<MyObjectWrapper> modified = new ArrayList<MyObjectWrapper>();// + getter/setter
public void prepareModifiedList() {
ListIterator<MyObject> myListIter = original.listIterator();
while (myListIter.hasNext()) {
MyObject myObj = myListIter.next();
MyObject nextMyObj = null;
boolean colorMe = false;
try {
nextMyObj = peek(myListIter);
} catch (NoSuchElementException e) {
}
if (nextMyObj != null && myObj.getPath().equals(nextMyObj.getPath())) {
colorMe = true;
}
MyObjectWrapper myObjectWrapper = new MyObjectWrapper(myObj, colorMe);
modified.add(myObjectWrapper);
}
}
만들기 MyObjectWrapper
은 다음과 같습니다.
public class MyObject {
public MyObject(String path) {
super();
this.path = path;
}
private String path;
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
}
그리고
public class MyObjectWrapper {
MyObject myObject;
boolean colorMe;
public MyObjectWrapper(MyObject myObject, boolean colorMe) {
super();
this.myObject = myObject;
this.colorMe = colorMe;
}
public MyObject getMyObject() {
return myObject;
}
public void setMyObject(MyObject myObject) {
this.myObject = myObject;
}
public boolean isColorMe() {
return colorMe;
}
public void setColorMe(boolean colorMe) {
this.colorMe = colorMe;
}
}
난 당신이 뭔가 할 수있는 권리를 이해하는 경우 :
<h:outputText value="#{someclass.somemember}"
styleClass="#{(someclass.someMember eq someclass.someOtherMember)?'equalMembers':''}"/>
당신의 CSS에서
.equalMembers {
color:red;
}
보여 추가를하여 관련 'p : datatable'c ode,'p : column' 내용 – Daniel
나는 내용을 편집했습니다. 그것을 확인해주세요. – Pramoth
* DEVICE * memeber가 * PATH * member와 같으면 어떻게됩니까? – Daniel