我有一个xPage,我用3个组合框和1个视图控件构建。我想使用视图控件中的“按列筛选值”选项来提供筛选值的选项,允许用户显示组合框的任意组合。例如只有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)中的示例,使用非分类列向量进行多列过滤。
所以,我遇到了似乎是一个相当重要的问题,数据需要按日期排序。日期不是过滤器之一,但它必须是第一列才能正确排序数据。所以我的第一列是一个字符串YYYYMMDD,以确保数据正确排序。我尝试在视图控件中使用sort选项,但这似乎不适用于以这种方式实现的列过滤。
因此,作为我过滤的条件的日期之一,我将其作为空字符串传递 - 使用思考过程,空字符串将全部选择(如上面的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;
我发现并非所有数据都被返回。我认为这可能是由于日期字段。所以我删除它(更改视图并删除第一个添加元素),但我仍然发现并非所有数据都被返回。我怀疑这可能是由于空字符串被传递,或者,这实际上并没有按照我希望的方式工作。
有谁知道我是否可以按照我想要的方式工作,如果没有,你对我如何解决这个问题有任何建议吗?
答案 0 :(得分:1)