Go.js table 未附带复选框

Go.js Check Box not coming with table

你好,我开发了一个代码,其中 MynodeTemplate 看起来像

GO(go.Node, "Auto",
        GO(go.Shape,
                  new go.Binding("fill", "boxcolor")),
                  GO(go.Panel, "Table",
                    { defaultAlignment: go.Spot.Left, margin: 4 },
                    GO(go.RowColumnDefinition, { column: 1, width: 4 }),
                    GO(go.TextBlock,
                      { row: 0, column: 0, columnSpan: 3, alignment: go.Spot.Center },
                      { font: "bold 12pt sans-serif" },
                      new go.Binding("text", "name")),
                      //Checkbox code 
                      GO(go.TextBlock, "Meta Item : ",
                        { row: 1, column: 0 }),
                    GO(go.TextBlock,
                      { row: 1, column: 2 },
                        new go.Binding("text", "MetaItemName")),
                    GO(go.TextBlock, "Perspective: ",
                                 { row: 2, column: 0 }),
                    GO(go.TextBlock,
                      { row: 2, column: 2 },
                    new go.Binding("text", "PerspectiveName")),

                  ),
                  new go.Binding("scale", "scale").makeTwoWay(),
                  new go.Binding("font", "font").makeTwoWay(),
                  new go.Binding("location", "loc", go.Point.parse).makeTwoWay(go.Point.stringify),
                  new go.Binding("locationSpot", "dir", function(d) { return spotConverter(d, false); })
                );

和UI看起来像

我想在我的名字旁边放一个复选框,所以我有像

这样的代码
GO("CheckBox","name",{row:1,column:1}),

但它不会来

它对我来说很好用,只是你将第 1 列的 RowColumnDefinition.width 设置为 4,这对于复选框来说实在是太窄了。将 4 的宽度更改为 14 宽会导致:

请注意,如果用户选中 "CheckBox",它会修改 data.name 属性,因为那是您在"CheckBox"。但是您还有第一个 TextBlock 绑定到 data.name 属性,这就是为什么在第二个节点中 title/header 文本已更改为 "true".

顺便说一下,直到现在我才看到这个关于 GoJS 的问题,因为你用 "go.js" 而不是 "gojs" 标记了。我建议您 remove/delete "go.js" 标签并用 "gojs" 标记。