sortBy
属性をプライムフェイスデータテーブルColumn
にプログラム的に入れようとしています。私はDataTableから継承し、カスタムgetColumns()
呼び出しを使用して独自の列を作成しています。sortBy属性をプライマリにプログラムで追加するDataTable Column
は、残念ながら、この方法は、まだそれがであるコンテキストを知らないため、列にSORTBY属性を挿入するには、noクリーンな方法はなさそうです。
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;
}
それは私には明白なようで、そのI何かが見当たりませんが、私はすぐに失われます。私は、デバッガを使用して、すべてのコードを通過しようとしたが、のValueExpressionがあるとき、私は把握することはできませんColumn
はどこかそのValueExpression
で満たされているように見えるが、私はどこ...
を見つけることができません元の実装で生成されます。どんなヒントもありがとう。
ありがとうございます。私はそれが動作するようにシングルトンの文脈を引き出すことができるかどうかはわかりませんでした。私はまだ文脈が参照によって渡された時そして理由を得ることができませんが、それはまったく別の質問です。再度、感謝します! – devsnd
あなたは大歓迎です。あなたは、豆、phaseListenersなどのjsf関連の "オブジェクト"のコンテキストを引き出すことができます。しかし、むしろ、経験豊かなユーザーやBalusCのようなプロの詳細な回答を得るためには別に質問しなければなりません。 – Fallup