I use DataTable with dynamic column like this:
Code: Select all
<p:columns value="#{abfrageBean.getErgebnisColumnModel()}" var="column">
<h:outputText value="#{row.getWertFormatted(column.property)}" />
...
Code: Select all
public String resolveDynamicField(ValueExpression expression) {
if(expression != null) {
String expressionString = expression.getExpressionString();
expressionString = expressionString.substring(expressionString.indexOf("[") + 1, expressionString.indexOf("]"));
expressionString = "#{" + expressionString + "}";
Code: Select all
<h:outputText value="#{row[column.property]}" />
Code: Select all
public String resolveDynamicField(ValueExpression expression) {
if (expression != null) {
String expressionString = expression.getExpressionString();
// PATCH INSERT START
if (expressionString.indexOf("[") < 0)
expressionString = expressionString.substring(expressionString.indexOf("(") + 1,expressionString.indexOf(")"));
else
expressionString = expressionString.substring(expressionString.indexOf("[") + 1,expressionString.indexOf("]"));
// PATCH INSERT END
expressionString = "#{" + expressionString + "}";
May I open a ticket for these 4 lines to be commited into trunk?