Xpages Dojo Data Grid的默认排序不适用于过滤的值

时间:2013-12-14 20:39:47

标签: sorting filtering xpages dojox.grid.datagrid

我正在尝试在我的应用程序中实现DOJO数据网格。在加载xPages时,我在会话范围变量中获取当前用户ID,并根据用户ID过滤从视图为数据网格提供数据的REST服务。我使用“keys”属性来过滤值,以便当前用户应该能够在网格中看到仅与他相关的值。这工作正常,但是当我尝试在页面加载后对结果进行排序时,它会开始显示空白值并且排序不起作用。我确保通过选中视图中的“单击列标题以排序”选项,我还要对排序所需的列进行后端视图排序。仍然我无法让列的排序工作。请告诉我是否有解决此问题的方法,或者我是否正在做某些事情,因为默认排序不能按预期工作。

1 个答案:

答案 0 :(得分:0)

Nash,我描述的空白行有类似的问题。我认为空白行是与行不匹配的行。以下是我解决此问题的提示。我认为问题不在于您的网格,而在于您的Rest服务。

  • 使用viewJsonService类型的rest service
  • 使用类别过滤器而不是键
  • 使您的类别过滤器代码与我的类似。这将确保您不向不应该看到它们的人显示文档。当类别为nu​​ll时,Rest服务将显示所有文档。这不会导致空白行,但这是IMO的最佳实践。

     var category:String = lineItemBean.getThisUNID(); 
     //wherever your category comes from, maybe session.getUserName() in your case
     if(category == null){
         return "show nothing"
     } else {
        return lineItemBean.getThisUNID();
     }
    

我希望这会有所帮助。我的猜测是,这也将解决您的排序问题。