【问题标题】:Slickgrid tree viewSlickgrid树视图
【发布时间】:2015-08-01 07:20:42
【问题描述】:

我是 UI 开发的新手。我正在开发一个已经使用 slickgrid 来显示报告的项目。我的项目使用 SlickGrid v1.4。我想修改当前报告并在报告中实现树视图。我将每个元素的父元素从后端传递到 UI。

问题:

  1. 我是否需要将 slickgrid 升级到最新版本。如果是,那么它是否向后兼容?
  2. 如何在 slickgrid 中实现这种父子关系,比如我将使用哪些属性?

如果您需要更多详细信息,请告诉我。

谢谢

【问题讨论】:

    标签: slickgrid


    【解决方案1】:

    如果你指的是javascript slickgrid,那么你需要专门看一下这个slickgrid的例子 https://github.com/mleibman/SlickGrid/blob/gh-pages/examples/example5-collapsing.html

    这是一个实现而不是一个特性,所以任何版本都应该没问题。所以是的,如果可能的话,最好选择最新的。

    它只是使用缩进实现树视图。它与其他具有树结构特定视图的库不同。

    你应该在后端做的是,向前端发送一个包含项目列表的数组。数据项应该有 2 个属性 parent 和 level。 如果项目是某个父项的子项,则父项对于根和级别 0 将为空。子级为 1,父级为 0(数组的索引)。 (在 slickgrid 中实现) 请注意,父值可以是任何基于您的数据的值。例如类别的层次结构。

    var item1 = {id: "id_1", category:"cat1" parent: null, }
    var item2 = {id: "id_2", parent: "cat1"};
    

    因此 level 属性显示了当前项目在层次结构中的深度。

    示例中的光滑网格使用级别值来放置缩进或空格。

    您可以使用相同的逻辑,也可以根据级别应用特定的 css3 类并根据您的需要进行自定义。

    .class[level=0] {}
    

    这样光滑的网格很灵活。您只需要特定格式的数据。

    一件重要的事情是项目数组应该已经按字段和级别排序才能正常工作。

    Oracle 等一些数据库已经为您提供了先验连接等选项来获取这种格式的数据。有一个保留关键字级别,可以添加为列名。 这也是假设您的表已经设计为代表层次结构。

    SELECT category_id, cat_name, cat_parent_id, LEVEL
    FROM categories
    CONNECT BY PRIOR category_id = cat_parent_id;
    

    您还可以从指定的根目录获取数据

    START WITH category_id = 5
    

    【讨论】:

      猜你喜欢
      • 2013-05-26
      • 1970-01-01
      • 2017-09-27
      • 2012-08-21
      • 2012-02-29
      • 1970-01-01
      • 2012-06-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多