我想使用SmartGWT的TreeGrid对象来显示分层数据。数据是异构的,并不是所有元素都是相同类型的,并且具有相同的字段。例如,我有以下数据:
Home
|-Room 1
|-Room 2
|-Table
|-Chair所有对象都有唯一的ID。Home没有字段。房间只有一个名称。表有一个名称和一个整型字段"seatsNumberOfPeople“,而主席没有。椅子有一个字段"Color“,该字段取自表中没有的可能值列表。
当TreeGrid中的一个对象被选中时,我想要显示一个允许用户编辑该对象的字段的DetailViewer。显然,对于每种类型的节点,DetailViewer将具有不同的字段和验证。
应如何设计DataSource以满足这些要求?从异构数据创建这种动态DetailViewer的最佳实践是什么?
不幸的是,web上的所有示例显示的数据都是同构的(树中所有对象的字段都相同)。
发布于 2012-02-15 00:45:50
在本例中,我将创建一个具有两个附加字段的数据源,即外部ID和外部类型。假设您使用主键作为外部ID,使用数据源名称作为类型。
当选择树节点时,然后将ID和类型传递给详细信息查看器。它调用getDataSource(类型)和fetch({criteria id = ID}),然后呈现您的细节。(当然,这是psuedo代码)
https://stackoverflow.com/questions/3245969
复制相似问题