Dies ist ein ziemlich frustrierendes Problem, das ich bei mehreren Gelegenheiten lösen musste, und ich fand die Lösung, die ich gefunden habe, völlig zufriedenstellend.
Angenommen, Sie haben eine "komplexe" hierarchische Datenstruktur, die Sie dem Benutzer Ihrer Webanwendung präsentieren müssen, und die meisten Knoten in der Hierarchie sollten ebenfalls bearbeitbar sein. Angenommen, Sie müssen Projektdetails angeben, wobei jedem Projekt mehrere Aufgaben zugeordnet sein können. Nun möchte ein Benutzer vielleicht ein Projekt bearbeiten (z. B. seinen Namen ändern) oder eine bestimmte Aufgabe hinzufügen, eine Aufgabe bearbeiten oder entfernen usw.
Die Art und Weise, wie ich das normalerweise tue, ist eine Projekttabelle und ein Projektformular. Wenn ein Benutzer auf eine Zeile in der Projekttabelle klickt, wird das Formular ausgefüllt, um Details des Projekts widerzuspiegeln, und eine andere Tabelle wird ausgefüllt, die die Aufgaben für das bestimmte Projekt enthält. Dieser Ansatz scheint ziemlich klobig zu sein, wenn Sie viele Ebenen in Ihrer Hierarchie haben, und ich weiß nie, ob Sie die Daten verstecken sollen, bis sie angefordert werden und sie in die Ansicht schieben oder leere Platzhalter usw. anzeigen.
Meine Fragen sind also: Kennen Sie Beispiele, in denen dieses Problem elegant gelöst wurde? Gibt es einen Konsens darüber, was aus einer UI-Design- / Best-Practice-Perspektive am besten ist? (Ich habe absichtlich diese Sprache / Plattform agnostisch gehalten).
Alle Vorschläge sind willkommen.
Nun, für ein JavaScript-Beispiel für verschachtelte Formulare (mit vielen Bearbeitungs- und Anzeigeoptionen) gibt es die jqGrid-Demos . Schau unter Beispiele - & gt; Erweitert - & gt; Subgrid für ein solches Beispiel.
Aber ja, es gibt keinen wirklichen Weg, diesen zu lösen, aber wenn ich darauf komme, werde ich es euch wissen lassen. :)
Zufälligerweise arbeite ich gerade mit der gleichen Art von Projekt.
Das Problem hat keine "universelle" Lösung. Alles hängt vom Kontext ab.
Es gibt viele Fragen und jeder Kontext hat seine eigenen Antworten.
Jeder Benutzer kann sogar verschiedene Antworten im selben Kontext haben, aber so etwas zu entwickeln, um jeden einzelnen Benutzer zufrieden zu stellen, ist unmöglich. Man muss Kompromisse eingehen.
Nun ... Das sind sowieso meine zwei Cent.
Tags und Links design