2012-05-14 7 views
8

¿Cuál sería la forma más sencilla de crear un editor rápido para algunos datos en la base de datos en WPF/WinForms, donde los datos están representados por una vista en la base de datos de SQL Server?¿Cómo crear el editor para la vista de la base de datos (con combinaciones) en Windows Forms/WPF?

Supongo que tengo una tabla Person { id int, name nvarchar(max), GenderID int, CityID int}, donde GenderID y CityID son una referencia en las tablas Género y Ciudad. En el editor, la persona aparecería como cuadro de texto para el nombre, cuadro combinado para el género (seleccionando los nombres de los géneros de la tabla de género) y lo mismo para la columna de la ciudad.

¿Hay algo fácil que pueda hacer para que algún control/código genere esto? Si solo quisiera seleccionar datos, WinForms DataGridView o WPF DataGrid pueden generar una columna para cada propiedad y mostrar una fila para cada objeto en una colección. -

¿Hay algún tipo de control mágico similar, que podría hacer esto para una vista de base de datos, si las relaciones están definidas por una clave externa?

Me parece que miles de desarrolladores se han enfrentado a este tipo de problema: crear rápidamente una GUI para editar filas de bases de datos con relaciones con otras tablas, por lo que debería haber algún tipo de solución universalmente aceptada. ¿O todos están haciendo esto en el código? O bien, si hay una herramienta para esto en otro idioma, no C#, no Windows Forms, como dBase.

+0

son conscientes de que la propiedad DataGridView.AutoGenerateColumns? (http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.autogeneratecolumns.aspx). Hace muchas cosas de forma automática, y puede personalizarlo de algún modo anulando el DataGridView. –

+0

Estoy, y funciona bien para navegar por los datos, pero no resuelve un problema para editar datos – Axarydax

+0

Creo que debería ser compatible con la edición también, siempre que "piense" que su fuente de datos es editable. Por favor explique en su pregunta qué tipo de fuente de datos proporciona. –

Respuesta

2

Está describiendo lo que se conoce como andamios en el desarrollo web. El andamiaje es una forma de generar automáticamente IU para cada tabla en la base de datos. Scaffolding le permite crear una interfaz de usuario funcional para ver y editar datos según el esquema de los datos. Aquí hay un par de recursos para andamios WPF.

  1. Hay un artículo andamios WPF en el sitio web del proyecto Código: WPF CRUD Generator (Scaffolding)
  2. También hay un proyecto de CodePlex que puedan ser de utilidad: WPF Scaffolder

Enjoy!

0

ASP .NET Dynamic Data utiliza plantillas para generar automáticamente una IU que representará las tablas/vistas de la base de datos que elija, incluidas las capacidades CRUD generadas automáticamente que desee.

Incluso obtiene las tablas de búsqueda a la derecha y renderiza las listas desplegables automáticamente.

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

Cuestiones relacionadas