我想使用 SmartGWT 的 TreeGrid 对象来显示分层数据。数据是异构的,并非所有元素都属于同一类型并具有相同的字段。例如,我有以下数据:
Home
|-Room 1
|-Room 2
|-Table
|-Chair
所有对象都有唯一的 ID。家没有字段。房间只有一个名字。表有一个名称和一个 int 字段“seatsNumberOfPeople”,而主席没有。椅子有一个字段“颜色”,该字段取自表格中没有的可能值列表。
当 TreeGrid 中的一个对象被选中时,我想显示一个 DetailViewer,它允许用户编辑该对象的字段。显然,DetailViewer 将为每种类型的节点提供不同的字段和验证。
应如何设计 DataSource 以满足这些要求?从异构数据创建这种动态 DetailViewer 的最佳实践是什么?
不幸的是,网络上的所有示例都显示同质的数据(树中所有对象的相同字段)。