代码之家  ›  专栏  ›  技术社区  ›  darpet

带有延迟加载、筛选和排序的jsf数据表

  •  6
  • darpet  · 技术社区  · 14 年前

    我做过几个有很多数据表的项目。 (所有数据库都实现了排序、筛选-在何处并限制返回的结果)。

    但是我看到了几个JSF数据表组件。
    它们在客户端实现分页、排序和过滤! 依我看这很愚蠢。这项技术被称为企业级,他们用java脚本在客户端对数据进行排序!

    我还没有看到任何一个好的JSF数据网格在服务器端具有排序、过滤和延迟加载的内置特性。

    为什么?我是在寻找错误的方向,还是真的没有建立支持。

    结论: 是否有任何datatable JSF组件可以在服务器端执行延迟加载分页、筛选和排序? 如果我需要实现我自己的解决方案,感谢那些进行客户端排序和筛选的团队,它们是无用的。

    1 回复  |  直到 8 年前
        1
  •  5
  •   Bozho    14 年前

    不,没有。因为组件库不知道什么是持久性机制。

    但是,许多数据表都提供了表示这种情况的选项。例如,richfaces的datatable具有所谓的DataModel。例如,我们所做的是:

    public class CustomDataProvider implements DataProvider<ClassToShow>,
            Sortable2, Filterable { .. }
    
    
    public class PagingExtendedTableDataModel<T> extends ExtendedDataModel implements
            Serializable, Modifiable {
    
        private DataProvider dataProvider;
        private Object rowKey;
        private List wrappedKeys;
        private Map wrappedData;
        private Integer rowCount;
        private Integer rowIndex;
        private List<FilterField> filterFields;
        private List<SortField2> sortFields;
    
        public PagingExtendedTableDataModel(DataProvider<T> dataProvider) { .. }
    
    }