2012-05-14 4 views
8

Was wäre der einfachste Weg, um einen schnellen Editor für einige Daten in der Datenbank in WPF/WinForms zu erstellen, wo die Daten durch eine Ansicht in der SQL Server-Datenbank dargestellt werden?Wie erstellt man Editor für die Datenbankansicht (mit Joins) in Windows Forms/WPF?

Angenommen, ich habe eine Tabelle Person { id int, name nvarchar(max), GenderID int, CityID int}, wobei GenderID und CityID eine Referenz in Tabellen Geschlecht und Stadt ist. Im Editor würde die Person als Textbox für Name, Combobox für Geschlecht (Auswahl der Geschlechter aus der Gender-Tabelle) und für die Stadtsäule erscheinen.

Gibt es etwas Einfaches, das ich tun kann, so etwas Kontrolle/Code würde dies erzeugen? Wenn ich nur Daten auswählen möchte, können WinForms DataGridView oder WPF DataGrid eine Spalte für jede Eigenschaft generieren und eine Zeile für jedes Objekt in einer Auflistung anzeigen. -

Gibt es eine ähnliche magische Kontrolle, die dies für eine Datenbankansicht tun könnte, wenn die Beziehungen durch einen Fremdschlüssel definiert sind?

Es scheint mir, dass Tausende von Entwicklern mit dieser Art von Problem konfrontiert wurden - um schnell eine GUI zum Bearbeiten von Datenbankzeilen mit Beziehungen zu anderen Tabellen zu erstellen, so sollte es eine allgemein akzeptierte Lösung sein. Oder macht das jeder im Code? Oder, wenn es ein Tool dafür in einer anderen Sprache gibt, nicht C#, nicht Windows Forms - wie dBase.

+0

sind Sie sich der DataGridView.AutoGenerateColumns Eigentum? (http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.autogenetratecolumns.aspx). Es macht eine Menge Dinge automatisch, und Sie können es anpassen, indem Sie das DataGridView irgendwie überschreiben. –

+0

Ich bin, und es funktioniert gut für das Durchsuchen der Daten, aber es löst kein Problem für die Bearbeitung von Daten – Axarydax

+0

Ich glaube, es sollte die Bearbeitung auch unterstützen, vorausgesetzt es "denkt", dass Ihre Datenquelle editierbar ist. Bitte erläutern Sie in Ihrer Frage, welche Art von Datenquelle Sie bereitstellen. –

Antwort

2

Sie beschreiben, was in der Webentwicklung als Gerüst bekannt ist. Gerüstbau ist eine Möglichkeit zum automatischen Generieren von Benutzeroberflächen für jede Tabelle in der Datenbank. Mit dem Gerüst können Sie eine funktionale Benutzeroberfläche zum Anzeigen und Bearbeiten von Daten basierend auf dem Schema der Daten erstellen. Hier sind ein paar Ressourcen für WPF-Gerüst.

  1. Es gibt eine WPF Gerüst Artikel auf dem Code Project Website ist: WPF CRUD Generator (Scaffolding)
  2. Es gibt auch ein Codeplex-Projekt, das hilfreich sein könnte: WPF Scaffolder

Viel Spaß!

0

ASP.NET Dynamic Data verwendet Vorlagen, um automatisch eine Benutzeroberfläche für Sie zu generieren, die die von Ihnen ausgewählten Datenbanktabellen/-sichten einschließlich der automatisch generierten CRUD-Funktionen darstellt.

Es werden sogar die Nachschlagetabellen richtig angezeigt und die Dropdown-Liste automatisch angezeigt.

http://msdn.microsoft.com/en-us/library/ee845452(v=vs.100).aspx

Verwandte Themen