Hello,
I'm developing a web application using ASP.NET 2.0, Visual Studio 2005, and SQL Server Express 2005.
The app has a maintenance section only available for authorized users.
I'm looking for best and most confortable interface for users to maintain data.
The problem is with data that i have normalized (Secon, Third Normal Form and so on), in particural, for parent child relations.
I think is a bad solution provide an aspx page (or a gridvied or formview) for each table. I think that the data (tables) desing in normal form is not confortable for users to maintain data.
My question is how design the interface? Please note this post is intended to debate a good interface design, feel free to comment your own examples.
For example:
I have a set of tables to store events. An event, in this case, is a communication, conference, presentation, and so on.
An event has 1 to N ponents/Speakers. An event has a title and program (translated in several languages). An event has 0 to N documents attachments.
The tables design could be:
Events
------
idEvent INTEGER (AUTOINCREMENT)
Location INTEGER -> From Locations table
LOCATIONS
---------
idLocation INTEGER (AUTOINCREMENT)
CITY VARCHAR
PONENTS
-------
idPonent INTEGER (AUTOINCREMENT)
NAME VARCHAR
PONENTS_EVENTS
--------------
idEvent INTEGER -> From Events table
idPonent INTEGER -> From Ponents table
ATTACHMENTS
-----------
idEvent INTEGER -> From Events table
PATH VARCHAR
LANGUAGES
---------
idLanguage INTEGER (AUTOINCREMENT)
NAME VARCHAR
TITLES
---------
idTitle INTEGER (AUTOINCREMENT)
Language INTEGER -> From Languages table
TITLE VARCHAR
PROGRAMS
---------
idProgram INTEGER (AUTOINCREMENT)
Language INTEGER -> From Languages table
TEXT VARCHAR
It could be a page, Events.aspx for maintenance. A gridview show the events, showing th idEvent, Location and title in default language (english). The buttons Delete and Edit are present.
If the user edit the event, a formview shows the data to edit. The idEvent is readonly, the location is a comboBox from location table (there is a locations.aspx page to maintenance). But How implement the rest?
Maybe a gridview inside formview to maintenance the programs,titles,ponents, and attachments?
At case of insert new events, how implement this? (note that idEvent is not known yet).
A question more, if the user is editing the nested gridview (titles for example) i think the rest of formview controls must be disabled. If the nested gridview titles has buttons Update, cancel, this buttons must be enabled and formview event controls (buttons Update, cancel, and comboBox control, and textbox...) must be disabled.
How you implement the best interface for this example database desing? (or other seemed)
Best regards.