我试图以编程方式将sortBy
属性放入primefaces数据表Column
中。我从DataTable继承,并使用自定义的getColumns()
调用创建自己的列。以编程方式将sortBy属性添加到primefaces DataTable列
遗憾的是似乎有插入sortBy属性栏没有干净的方法,因为该方法却并不知道它是在上下文。
public List<Column> getColumns() {
if (columns == null) {
columns = new ArrayList<Column>();
String[] columnStrings = getShowColumns().split(",");
for (String columnString : columnStrings) {
Column column = getColumnByType(columnString.trim());
if (column != null) {
//here I have to add the sortBy Expression somehow,
//but there is no context to construct it from
//column.setSortBy(ValueExpression)
columns.add(column);
}
}
}
return columns;
}
它似乎很明显对我来说,我我错过了一些东西,但我现在迷失了。 Column
似乎是填充ValueExpression
别的地方,但我不知道在哪里...
我试图通过所有的代码使用调试器,但我不明白当ValueExpression是在原始实现中生成。任何提示赞赏。
非常感谢。我不知道我可以在单身人士的背景下使其工作。我仍然没有得到什么时候以及为什么通过引用来传递语境,但这是另一个问题。再次感谢! – devsnd 2012-04-11 09:15:19
不客气。你可以在任何jsf相关的“对象”(比如beans,phaseListeners等等)中抽取上下文。但是,你必须要求在单独的问题中得到更多有经验的用户和像BalusC这样的专业人员的详细答案。 – Fallup 2012-04-11 09:53:36