Frage

Derzeit bin ich dabei eine maßgeschneiderte Lösung für die Abrechnung zu machen. Ich habe mehr Möglichkeiten geschaffen, damit Kunden ihre Vorlage zu erstellen (HTML, Word, LaTeX) und erhalten Rechnungen nach ihrer Vorlage. Allerdings sind diese Rechnungen Partei manuell erzeugt werden.

So, der Prozess ist:

  • Anfrage eine neue Rechnung
  • erstellen
  • Eine vorläufige Rechnung wird erstellt
  • Der Benutzer bekommt eine Chance, Änderungen vorzunehmen (d hinzufügen, entfernen, ändern Zeilen)
  • Erstellen Sie eine PDF

Just klar zu sein, die vorläufige Rechnung muss nicht formatiert werden, wie die Vorlage ist, aber Sie sollten in der Lage sein, hinzufügen / entfernen / ändern Zeilen und für jede Zelle an, ob der Wert im Endergebnis sichtbar sein soll .

Mein Problem ist, dass ich nicht einen geeigneten Weg finden die vorläufigen Rechnungen anzuzeigen. Ich habe versucht, ein Datagrid (Standard, Telerik, DevExpress), aber es ist zu chaotisch. Neben einem Datagrid, habe ich keine Ahnung, was ich verwenden kann.

Welche Kontrollen kann ich am besten verwenden, um eine schöne und nutzbare Benutzeroberfläche zu haben.

War es hilfreich?

Lösung

Ein typisches UI Paradigma für diese Art der Sache ist es, als zwei getrennte Probleme zu lesen: dem Benutzer eine Art der Betrachtung der Elemente geben, die er ändern kann, und ihm die Fähigkeit, jedes spezifisches Element zu ändern geben. Sie verwenden eine Listensteuerung (ListBox, ListView, vielleicht TreeView, wenn die Elemente hierarchisch organisiert sind, oder müssen gruppiert in Kategorien werden), um die Elemente zu präsentieren, und dann, wenn der Benutzer ein Element wählt das Programm eine tabellarische Darstellung von Feldnamen präsentiert und editierbar Wert steuert.

Im Grunde genommen sind geteilt und die Funktionalität des Programms in zwei Kategorien: Sachen, die der Benutzer Zeilen tun will (hinzufügen, entfernen, neu anordnen, wählen) und so, dass der Benutzer auf der ausgewählten Zeile der Elemente tun will.

Sie können diese beiden Sätze von Funktionalität in einem Brei, wenn Sie einen DataGridView verwenden, aber wie Sie haben gesehen, dass ziemlich hässlich wird, wenn es auf die Elemente jeder Komplexität ist Sie bearbeiten.

Zwei mögliche Ansätze dazu: die Eigenschaft-Blatt-Paradigma (Objekt auswählen, Rechtsklick, wählen Sie „Eigenschaften“, bearbeiten Werte in einem modalen Dialog) oder ein Paradigma, wo das Fenster der Aufspaltung in zwei Platten, mit einer dem Wesen Zeilen und die andere die Details der aktuell ausgewählte Zeile zu sein. Es gibt viele andere.

Andere Tipps

Was ist Ihre Plattform? WinForms? WPF?

Was genau hast Du nicht über ein Datagrid für diese Verwendung? Ein Teil des Problems besteht darin, dass, ob Sie es wollen oder nicht, Sie gehen ein Datagrid zu Codierung - Sie im Wesentlichen beschriebenen Merkmale von einem. Wenn möglich versuchen, jemand anderes Datenraster zu verwenden, weil es Ihnen eine Menge Arbeit sparen. Typischerweise sollte 3rd-Party-Datagrids ziemlich anpassbar sein, und Sie sollten es jedoch wollen Sie aussehen zu lassen fähig sein - und nutzen die eingebauten Sortierung, Bearbeitung, Gruppierung usw. ein Datagrid-ähnliche Steuerung von Grund auf neu erstellen, ist nicht einfach und sollte möglichst vermieden werden.

Sie müssen nicht einen einfachen Riesendatagrid haben - Sie können Kiste eine benutzerdefinierte Steuerelement, das die Rechnung zeigt formatiert, wie Sie wollen, mit einem Live-Datenraster erscheinen nur, wenn die Rechnung von Tabellendaten zeigt, formatiert als integraler Bestandteil erscheinen die Rechnung selbst.

Ich bin etwas ähnliches zu tun, in dem der Client bearbeiten kann oder auch die Einzelposten für die Rechnung entfernen, bevor sie an den Client zu senden.

Die aktuelle App sie auf ihr Geschäft laufen ein WebForms Intranet-Anwendung, so ist dies eine Erweiterung zu dem. So können sie hinzufügen / entfernen / bearbeiten Zeilen ziemlich leicht.

Aber Egor ist richtig. Sie sprechen im Wesentlichen über einem Datagrid, egal was Sie tun. Ich nehme an, Sie wollen etwas ‚saubere‘ und intuitiver?

Einfachheit ist schwierig.

Ich würde einen Blick auf das, was schon da ist, vor allem für Rechnungen, und sehen, wie sie es tun.

Nicht sicher, wie groß Ihr Unternehmen ist, aber es schadet nie die Vorteile der großen Unternehmen Anwendungen und Benutzerschnittstellen zu übernehmen, die schütten Tausende / Millionen von Dollar in User Interface Design und Test.

Ich würde einen Blick auf eine der folgenden nehmen (die meisten eine kostenlose Testversion zur Verfügung stellen, oder einfach nur versuchen, für Screenshots Suche):

Nur ein paar Ideen ... hoffe, das hilft!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top