2012-05-14 10 views
8

Quale sarebbe il modo più semplice per creare un editor veloce per alcuni dati nel database in WPF/WinForms, in cui i dati sono rappresentati da una vista nel database di SQL Server?Come creare un editor per la visualizzazione del database (con join) in Windows Form/WPF?

Dire che ho una tabella Person { id int, name nvarchar(max), GenderID int, CityID int}, dove GenderID e CityID sono un riferimento nelle tabelle Sesso e Città. Nell'editor, la persona appare come casella di testo per nome, casella combinata per sesso (selezionando i nomi dei sessi dalla tabella Sesso) e la stessa per la colonna cittadina.

C'è qualcosa che posso fare in modo che qualche controllo/codice possa generare questo? Se desidero selezionare solo i dati, WinForms DataGridView o WPF DataGrid possono generare una colonna per ogni proprietà e mostrare una riga per ogni oggetto in una raccolta. -

Esiste una sorta di controllo magico simile, che potrebbe eseguire questa operazione per una vista del database, se le relazioni sono definite da una chiave esterna?

Mi sembra che migliaia di sviluppatori abbiano affrontato questo tipo di problema: creare rapidamente una GUI per modificare le righe del database con relazioni ad altre tabelle, quindi dovrebbe esserci una sorta di soluzione universalmente accettata. O lo fanno tutti nel codice? Oppure, se c'è uno strumento per questo in un'altra lingua, non C#, non Windows Form - come dBase.

+0

sono a conoscenza del DataGridView.AutoGenerateColumns proprietà? (Http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.autogeneratecolumns.aspx). Fa un sacco di cose automaticamente, e puoi personalizzarlo in qualche modo sovrascrivendo DataGridView. –

+0

Sono, e funziona bene per la navigazione dei dati, ma non risolve un problema per la modifica dei dati – Axarydax

+0

Credo che dovrebbe supportare anche la modifica, a condizione che "pensi" che l'origine dati sia modificabile. Si prega di spiegare nella domanda che tipo di fonte dati fornite. –

risposta

2

Si sta descrivendo ciò che è noto come scaffolding nello sviluppo web. Scaffolding è un modo per generare automaticamente le interfacce utente per ogni tabella nel database. Scaffolding ti consente di creare un'interfaccia utente funzionale per visualizzare e modificare i dati in base allo schema dei dati. Ecco un paio di risorse per lo scaffolding WPF.

  1. C'è un articolo ponteggio WPF sul sito Codice Progetto: WPF CRUD Generator (Scaffolding)
  2. C'è anche un progetto Codeplex che potrebbe essere utile: WPF Scaffolder

Enjoy!

0

ASP. NET Dati dinamici utilizza i modelli per generare automaticamente un'interfaccia utente per te che rappresenterà le tabelle/viste del database che hai scelto, incluse le funzionalità CRUD generate automaticamente che desideri.

Ottiene persino le tabelle di ricerca e esegue il rendering automatico dei menu a discesa.

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

Problemi correlati