0

3つのコンボボックスと1つのビューコントロールを使用して作成したxPageがあります。ビューコントロール内の[列の値でフィルター]オプションを使用して、値をフィルター処理するオプションを提供し、ユーザーがコンボボックスの任意の組み合わせを表示できるようにします。例:comboBox1のみ、またはcomboBox1とcomboBox2、またはcomboBox3のみ、またはcomboBox1とcomboBox2とcomboBox3。

「xPagesデモンストレーションアプリケーション」(http://www-10.lotus.com/ldd/ddwiki.nsf/dx/xpagesdemoapp.htmまたはhttp://xpagesblog.com/XPagesHome.nsf/Entry)の例を使用しました。 xsp?documentId = AAC8E26599256FDC852578CB0066CC13)、分類されていない列のベクトルを使用して複数列のフィルタリングを実行します。

そのため、データを日付で並べ替える必要があるという、かなり大きな問題と思われる問題に遭遇しました。日付はフィルターの1つではありませんが、データを正しく並べ替えるためには、最初の列である必要があります。したがって、私の最初の列は、データが正しくソートされていることを確認するための文字列YYYYMMDDです。ビューコントロール内で並べ替えオプションを使用しようとしましたが、この方法で実装された列フィルタリングでは機能しないようです。

したがって、私がフィルタリングしている基準の1つである日付として、それを空の文字列として渡しました-空の文字列がすべてを選択するという思考プロセスを使用します(上記のURLの例のように)。

フィルタリングを行うために使用したコードは次のとおりです。

var vtr:java.util.Vector = new java.util.Vector();
var t1 = sessionScope.Email;
var t2 = sessionScope.Own;
var t3 = sessionScope.Module;

vtr.addElement("");
@If(sessionScope.Own=="My calls",vtr.addElement(t1),vtr.addElement(""));
@If(sessionScope.Own=="My calls",vtr.addElement(""),vtr.addElement(t2));
@If(sessionScope.Status=="Open",vtr.addElement("Open"),vtr.addElement(""));
@If(sessionScope.Module=="All",vtr.addElement(""),vtr.addElement(t3));

return vtr;

私が見つけたのは、すべてのデータが返されるわけではないということです。これは日付フィールドが原因である可能性があると思いました。それで、それを削除しました(ビューを変更し、最初のadd要素を削除しました)が、それでもすべてのデータが返されるわけではないことがわかりました。これは、空の文字列が渡されたことが原因であるか、またはこれが実際には期待どおりに機能していないことが原因である可能性があります。

私がこれを私が望むように機能させることができるかどうか誰かが知っていますか?そうでない場合、私がこれについてどうやって行くことができるかについて何か提案がありますか?

4

1 に答える 1

1
  1. ビューの最初の並べ替え可能な列として日付は必要ありません。@DbColumn と @DbLookup を機能させるには Notes ビューをソートする必要があるのと同様に、ルックアップを機能させるには最初の列をソートする必要があります。XPages は、同じアンダーライン アーキテクチャを使用します。この例 - http://dev.openntf.org/demos/demoapp.nsf/viewFilteringVector.xsp - は、データが日付でソートされていなくても機能します。
  2. あなたの例が機能しない理由についての私の推測は、Notes ビューがどのようにソートされたかにかかっています。列 1 (メール) を昇順で並べ替え、列 2 (自分の) を昇順で並べ替え、列 3 (モジュール) を昇順で並べ替えて、新しいビューを作成してみてください。この状況では、ベクトル フィルタリングを機能させることができるはずです。
  3. それでもうまくいかない場合は、マルチレイヤー カテゴリ フィルタリング (853 の新機能) を検討してください。XPages のこのフィルタリング タイプは、categoryFilter の動作に関連していますが、サブカテゴリ (またはサブカテゴリ) でビューをフィルタリングすることもできます。この手法は、シナリオにより適している場合があります。

    お役に立てれば。
于 2012-07-16T15:21:33.397 に答える