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要素を削除しました)が、それでもすべてのデータが返されるわけではないことがわかりました。これは、空の文字列が渡されたことが原因であるか、またはこれが実際には期待どおりに機能していないことが原因である可能性があります。
私がこれを私が望むように機能させることができるかどうか誰かが知っていますか?そうでない場合、私がこれについてどうやって行くことができるかについて何か提案がありますか?