首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GoJS:使用itemArray填充表

GoJS:使用itemArray填充表
EN

Stack Overflow用户
提问于 2015-08-20 07:46:33
回答 1查看 1.4K关注 0票数 1

我有一个如下所示的模板(我也在使用jQuery,因此我们的GraphObject.make不是$,而是_):

代码语言:javascript
复制
_(go.Panel, 'Table', {
      itemTemplate: itemTemplate(_)
    },
    new go.Binding('itemArray', 'items')
)

当然,这部分并不是整个模板,我只包含了重要的片段。

我现在要做的是制作一个itemTemplate(_),它实际上是一个接一个地返回一行(取决于items数组中有多少元素)。

所以我试着用这样的itemTemplate()

代码语言:javascript
复制
itemTemplate = function(_) {
  return _(
      go.Panel,
      'Horizontal',
      {
        margin: 2
        col: 1
      },
      new go.Binding('row','row')
      _(
        go.Shape,
        'Rectangle',
        {
          stretch: go.GraphObject.Horizontal,
          height: 5
        }
      ),
      _(
        go.TextBlock,
        {
          margin: 2
        },
        new go.Binding('text', 't')
      )
  );
};

我突然意识到。使用这种方法,我需要返回两个面板,以获得预期的输出。

如果有人想知道为什么行上有绑定,我会在上面的go.Binding中使用回调进行介绍,如下所示:

代码语言:javascript
复制
new go.Binding('itemArray', 'items',
        function(d) {
          for (i = 0; i < d.length; i++) {
            d[i].row = i;
          }
          return d;
        }
      )

在这里,我的问题是:在itemTemplate周围有一个包装面板吗?就像这样?

  • 面板:表
    • 面板:没有行,没有
      • 面板:一行: 1,直线:1
      • 面板:第1行,第2行

代码语言:javascript
复制
- NextPanel : No row No col

还是可以为每个列返回两个单独的模板?

还是有另一种我不知道的解决办法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-21 02:31:42

是的,Panel.itemTemplate可以是类型为TableRowPanel。然后,该面板的每个元素都可以适当地设置其列。行是自动设置的。

参见http://gojs.net/latest/intro/itemArrays.html中的讨论和示例

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32112409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档