我想从 json 数据创建树视图,我找到了一个包 Graph View 并尝试实现它,但未能从 json 数据生成视图。
我的数据库死了如下
这是我当前的代码
List<Tree> _treeList = [];
void generate() {
_treeList.add(Tree(text: 'one',pid: 1,cid: 2));
_treeList.add(Tree(text: 'two',pid: 1,cid: 3));
_treeList.add(Tree(text: 'three',pid: 2,cid: 4));
_treeList.add(Tree(text: 'four',pid: 2,cid: 5));
_treeList.add(Tree(text: 'five',pid: 2,cid: 6));
_treeList.add(Tree(text: 'six',pid: 2,cid: 6));
_treeList.add(Tree(text: 'seven',pid: 2,cid: 8));
_treeList.add(Tree(text: 'eight',pid: 4,cid: 9));
_treeList.add(Tree(text: 'nine',pid: 4,cid: 10));
_treeList.add(Tree(text: 'ten',pid: 4,cid: 11));
_treeList.add(Tree(text: 'eleven',pid: 11,cid: 12));
_treeList.add(Tree(text: 'twelve',pid: 11,cid: 13));
}
void loadData()async {
await generate();
for (var i in _treeList) {
graph.addEdge(Node(getNodeText(i.text,i.pid,i.cid)),Node(getNodeText(i.text,i.pid,i.cid)));
//in graph.addEdge(parent Data,Child Data); , this is what I am looking to achieve so it can generate tree view
}
builder
..siblingSeparation = (100)
..levelSeparation = (150)
..subtreeSeparation = (150)
..orientation = BuchheimWalkerConfiguration.ORIENTATION_TOP_BOTTOM;
}
这个包需要有一个父子节点才能被传递。但是这段代码给了我如下错误
flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
BoxDecoration(borderRadius: BorderRadius.circular(4.0),
boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
1.0)]
)
), _size: Size(441.0, 89.0)} is not connected to primary ancestor
flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
BoxDecoration(borderRadius: BorderRadius.circular(4.0),
boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
1.0)]
)
), _size: Size(489.0, 89.0)} is not connected to primary ancestor
flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
BoxDecoration(borderRadius: BorderRadius.circular(4.0),
boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
1.0)]
)
), _size: Size(457.0, 89.0)} is not connected to primary ancestor
flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
BoxDecoration(borderRadius: BorderRadius.circular(4.0),
boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
1.0)]
)
), _size: Size(448.0, 89.0)} is not connected to primary ancestor
flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
BoxDecoration(borderRadius: BorderRadius.circular(4.0),
boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
1.0)]
)
), _size: Size(427.0, 89.0)} is not connected to primary ancestor
flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
BoxDecoration(borderRadius: BorderRadius.circular(4.0),
boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
1.0)]
)
), _size: Size(502.0, 89.0)} is not connected to primary ancestor
flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
BoxDecoration(borderRadius: BorderRadius.circular(4.0),
boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
1.0)]
)
), _size: Size(487.0, 89.0)} is not connected to primary ancestor
flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
BoxDecoration(borderRadius: BorderRadius.circular(4.0),
boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
1.0)]
)
), _size: Size(491.0, 89.0)} is not connected to primary ancestor
flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
BoxDecoration(borderRadius: BorderRadius.circular(4.0),
boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
1.0)]
)
), _size: Size(456.0, 89.0)} is not connected to primary ancestor
flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
BoxDecoration(borderRadius: BorderRadius.circular(4.0),
boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
1.0)]
)
), _size: Size(563.0, 89.0)} is not connected to primary ancestor
flutter: Node{position: Offset(0.0, 0.0), data: Container(padding: EdgeInsets.all(16.0), bg:
BoxDecoration(borderRadius: BorderRadius.circular(4.0),
boxShadow: [BoxShadow(Color(0xffbbdefb), Offset(0.0, 0.0), 0.0,
1.0)]
)
), _size: Size(569.0, 89.0)} is not connected to primary ancestor
任何帮助将不胜感激,如果有其他方法可以实现相同的目标,也请建议我