Trinidad v2.0.0
I am creating a table in Java and saving as the managed bean #{dynamicTable}.
Setting the "Value" property is working, by the "Var" does not. I know this
because table displays a number of blank rows that matches the number of
objects in #{dataRows}. The tag used to display the table is below:
<tr:table id="table" binding="#{dynamicTable}"/>
Alternatively, when I add 'var="row"' to the table tag, the table data is
displayed as expected:
<tr:table id="table" binding="#{dynamicTable}" var="row"/>
Below is how I am setting the "Var" and "Value" properties on the CoreTable
object.
> FacesContext context = FacesContext.getCurrentInstance();
> ELContext elContext = context.getELContext();
> Application app = context.getApplication();
> ExpressionFactory ef = app.getExpressionFactory();
>
> CoreTable table = new DynamicTableBean();
> table.setValueExpression(CoreTable.VAR_KEY.getName(),
> ef.createValueExpression(elContext,
> "var", Object.class));
> table.setValueExpression(CoreTable.VALUE_KEY.getName(),
> ef.createValueExpression(elContext,
> "#{dataRows}", Object.class));
>
Below is how I dynamically set the column value.
>
> ValueExpression columnValue = ef.createValueExpression(elContext,
> "#{row.column_" + i + "}",
> Object.class);
> outputText.setValueExpression(VALUE_KEY.getName(), columnValue);
>
Am I setting the correct property for the row variable?
Paul Spencer