Javascript SlickGrid--按多值字段查看和分组

Javascript SlickGrid--按多值字段查看和分组,javascript,slickgrid,Javascript,Slickgrid,我正在使用并且非常满意它,这是我遇到过的最好的网格之一。 我用于数据和分组 我有以下问题,正在寻找解决方案。 我的数据包含一些具有多个值的字段。 例如,一个数据输入可以与多个国家关联:美国、爱尔兰、新西兰或多个类别:猫、狗、鸟 两个问题: 在一个单元格中实现多个条目的视图的最佳实践是什么? 我想,自定义模板或格式化程序可以在这里使用,但会很高兴听到您的建议 如何实现按此字段分组? 例如,我想按国家分组,因此条目应显示在每个国家组下,在美国、非盟和新西兰下显示同一行 现实生活中的例子 不分组

我正在使用并且非常满意它,这是我遇到过的最好的网格之一。 我用于数据和分组

我有以下问题,正在寻找解决方案。 我的数据包含一些具有多个值的字段。 例如,一个数据输入可以与多个国家关联:美国、爱尔兰、新西兰或多个类别:猫、狗、鸟

两个问题:

  • 在一个单元格中实现多个条目的视图的最佳实践是什么? 我想,自定义模板或格式化程序可以在这里使用,但会很高兴听到您的建议
  • 如何实现按此字段分组? 例如,我想按国家分组,因此条目应显示在每个国家组下,在美国、非盟和新西兰下显示同一行
现实生活中的例子

不分组

Name    | Animals
-----------------
Paker   | cats, dogs, birds
Michael | cats, snakes
按动物分组

Name    | Animals
-----------------
- cats
Paker   | cats, dogs, birds
Michael | cats, snakes

- dogs
Paker   | cats, dogs, birds

- birds
Paker   | cats, dogs, birds

- snakes
Michael | cats, snakes
交叉发布到SlickGrid谷歌集团:


非常感谢

< P>当在单个单元格中显示自定义或基于集合的数据时,如果试图垂直渲染该数据,则需要考虑。 检查

for(变量i=0,l=rows.length;i
显示可以使用自定义的
getter
,但在每行的分组中使用/预期使用单个值。因此,对于在多个组中显示具有多值单元格的行(无modyfying源),必须“展平”数据


然后,将成为维护与呈现的视图状态相对应的数据集的工具。随着数据交互需求和/或数据大小的增加,这种变通方法变得不太可行,并且倾向于需要在源代码中实现自定义。

bullet#1的考虑事项:如果您对显示太过花哨,您将进入一个痛苦的领域。预期一行只属于1个组,因此默认实现将不允许您使用提供的数据实现bullet#2。然后a将成为维护表示各自所需状态的数据集。@Origineil,感谢您的解决方案。当然,我想要某种本机解决方案,但据我所知,SlickGrid并不支持这种解决方案。问题是我需要对项目进行一些操作。例如,更新/删除。可能我需要在原始集合和展开集合中查找所有原始项,并更新或删除它们。@Origineil,请添加您的注释作为答案,我使用了您的解决方案,并希望接受它。
for (var i = 0, l = rows.length; i < l; i++) {
 r = rows[i];
 val = gi.getterIsAFn ? gi.getter(r) : r[gi.getter];
 group = groupsByVal[val];
 if (!group) {
   group = new Slick.Group();
   group.value = val;
   group.level = level;
   group.groupingKey = (parentGroup ? parentGroup.groupingKey + groupingDelimiter : '') + val;
   groups[groups.length] = group;
   groupsByVal[val] = group;
 }
 group.rows[group.count++] = r;
}