2009-04-29 14 views
8

Jest to dość frustrujący problem, który musiałem rozwiązać na wielu okazjach, i nigdy nie znalazłem rozwiązania, które wymyśliłem w pełni satysfakcjonująco.Elegancki sposób przeglądania danych hierarchicznych w aplikacji internetowej

Załóżmy, że masz "złożoną" hierarchiczną strukturę danych, którą musisz przedstawić użytkownikowi aplikacji internetowej, a większość węzłów w hierarchii powinna być edytowalna. Na przykład, powiedz, że musisz przedstawić szczegóły projektu, gdzie każdy projekt może mieć wiele zadań powiązanych z nimi. Teraz użytkownik może chcieć edytować projekt (np. Zmienić jego nazwę) lub dodać do niego określone zadanie, edytować zadanie lub je usunąć.

Sposób, w jaki ogólnie to robię, to posiadanie tabeli projektów i Formularz projektu. Gdy użytkownik kliknie wiersz w tabeli projektów, wypełni formularz w celu odzwierciedlenia szczegółów projektu, a następnie wypełni kolejną tabelę zawierającą zadania dla danego projektu. Takie podejście wydaje się raczej niezgrabne, gdy masz dużo poziomów w swojej hierarchii i nigdy nie wiem, czy ukrywać dane, dopóki nie zostanie o to poproszony i nie wsunąłem ich do widoku lub wyświetlić puste symbole zastępcze itp. Prawdopodobnie masz rację.

Moje pytania brzmią: czy znasz przykłady, w których ten problem został rozwiązany w elegancki sposób? Czy jest jakikolwiek konsensus co do tego, co jest najlepsze z perspektywy projektowania/najlepszej praktyki interfejsu użytkownika? (Celowo utrzymuję agnostykę tego języka/platformy).

Wszystkie sugestie są mile widziane.

Odpowiedz

1

Zbiegiem okoliczności aktualnie pracuję nad tym samym rodzajem projektu.
Problem nie ma rozwiązania "uniwersalnego". Wszystko zależy od kontekstu.

  • W jaki sposób dane mają być wyświetlane.
  • W jaki sposób użytkownik przegląda dane.
  • W jaki sposób użytkownik wchodzi w interakcję z danymi.

Jest wiele pytań, a każdy kontekst ma swoje własne odpowiedzi.
Każdy użytkownik może nawet mieć różne odpowiedzi w tym samym kontekście, ale opracowanie czegoś takiego, aby zadowolić każdego użytkownika, jest niemożliwe. Trzeba iść na kompromisy.

Cóż ... To i tak moje dwa centy.

2

Cóż, w przypadku przykładu JavaScript zagnieżdżonych formularzy (z kupami opcji edycji i wyświetlania) istnieje the jqGrid Demos. Zajrzyj pod Przykłady -> Zaawansowane -> Podgrid dla jednego z takich przykładów.

Ale tak, nie ma jednego prawdziwego sposobu rozwiązania tego problemu, ale kiedy to wymyślę, dam ci znać. :)

Powiązane problemy