SmartGWTのTreeGridオブジェクトを使用して階層データを表示したいと思います。データは異種であり、すべての要素が同じタイプであり、同じフィールドを持っているわけではありません。たとえば、次のデータがあります。
Home
|-Room 1
|-Room 2
|-Table
|-Chair
すべてのオブジェクトには一意のIDがあります。ホームにはフィールドがありません。部屋には名前があります。テーブルには名前とintフィールド「seatsNumberOfPeople」がありますが、Chairにはありません。椅子には、テーブルにない可能な値のリストから取得したフィールド「色」があります。
TreeGrid内のオブジェクトが選択されている場合、ユーザーがそのオブジェクトのフィールドを編集できるようにするDetailViewerを表示したいと思います。明らかに、DetailViewerには、ノードのタイプごとに異なるフィールドと検証があります。
これらの要件を満たすようにデータソースをどのように設計する必要がありますか?その異種データからそのような動的なDetailViewerを作成するためのベストプラクティスは何ですか?
残念ながら、Web上のすべての例は、同種のデータを示しています(ツリー内のすべてのオブジェクトに対して同じフィールド)。