【问题标题】:Default sort for Xpages Dojo Data Grid not working on filtered valuesXpages Dojo 数据网格的默认排序不适用于过滤值
【发布时间】:2014-01-02 11:46:38
【问题描述】:

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

【问题讨论】:

    标签: sorting filtering xpages dojox.grid.datagrid


    【解决方案1】:

    Nash,你描述的空白行我也遇到过类似的问题。我认为空白行是与键不匹配的行。这是我解决此问题的提示。我认为问题不在于您的网格,而在于您的 Rest 服务。

    • 使用 viewJsonService 类型的休息服务
    • 使用类别过滤器代替键
    • 使您的类别过滤器代码与下面的类似。这将确保您不会向不应该看到它们的人展示文件。当类别为空时,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();
       }
      

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

    【讨论】:

    • 嗨,史蒂夫,感谢您的提示,我现在可以按照您在类别过滤器中的建议输入代码后删除空白行,但我仍然无法进行排序处理数据网格上的列。
    • Nash,在我使用网格的应用程序中,没有必要进行排序。我继续尝试让列排序工作,但我没有成功。如果我在下划线视图中使列按列排序,则列排序被禁用。如果我不这样做,那么它什么也不做。我认为由于视图的分类性质,这是不可能的。例如,如果您转到 Notes 中的视图,然后单击一列,则分类会被破坏。我认为你将不得不放弃排序或改变你的方法。也许你应该完成这个问题并问另一个问题。
    • 你是对的。我不得不完全改变我的方法。我根本无法使用道场网格,因为这个简单的排序功能不适合它。
    猜你喜欢
    • 2013-11-17
    • 1970-01-01
    • 2011-11-11
    • 1970-01-01
    • 2013-11-08
    • 2010-12-03
    • 1970-01-01
    • 2013-06-06
    • 2018-01-22
    相关资源
    最近更新 更多