Opinions or other ideas for layout

Tacec

Member
Joined
Jun 14, 2005
Messages
18
Location
Renton, WA
Programming Experience
1-3
Hello all,

I'm designing a project to enter and manage several types of ancillary data for a larger (separate) solution.

I've initially come up with a few ideas on how to put this together but wondered if I may not be seeing other options or better ways to do this. Any input would be appreciated...

The two different ways i've looked into include:
1. A single form with an ExplorerBar to house the ancillary options (ie. routes, vehicles, providers, departments, etc.). When the option is selected from the ExplorerBar, it displays a groupbox filled with the fields for that particular ancillary data, plus a grid to show all the existing records. Since many of the ancillary data sections have the same fields, (ie. sysactive, projectid, companyid, etc.)this option would require that I create unique names for each of the fields since they're all going to display on one form: ie, a sysactive for the Routes, a sysactive for the Vehicles, etc.)

Or
2. A single MDI form with an ExplorerBar (same as above) that calls child forms, one for each ancillary data section. This would be a little more time intensive, requiring me to build each child form and make sure they're all uniform, but not requiring duplication on naming the fields, as above.

I'm just trying to explore all my options and perhaps see if I'm not seeing all aspects of these 2 options, but I'm not well versed in .NET. Anyone have any suggestions, recommendations or other ways of approaching this?

Thanks!
 
To display grids of data, you can use a DataGridView. Look into using custom DataGridViewCell objects in the grid. You can do pretty much anything. I even made columns that support more than one type of data and display the correct editing control depending on the type of the data in the field.

If you really need different controls, then think about dynamically creating controls and adding them to a TableLayoutPanel so you don't create a fixed number of controls.

As for MDI vs non-MDI, I've come to the conclusion that MDI is too complex for many users. Microsoft went to and from MDI for its Office suite, I think we can follow their example and stay away from it. It is possible to make your GUI flexible using split panels instead.

Anyway, those are just my thoughts and GUI design is more art then science...
 
Thanks Stonkie,

I'm actually using third-party product for the grids; ever heard of Janus? They have some really great controls.

As for the splittler option, I'd seen some other posts on similar topics mention the splitter, but doesn't that still require you to uniquely name the same fields since they're all on the same form? I have to display 10-12 different sets of fields (many of them the same between sets) so i can't just show all of them split into different frames at once. Based on your opinion then, would you suggest going the groupbox route, using a splitter between where the fields display and the ExplorerBar?

Are there any other possibilities for displaying and managing this kind of information? (it's kind of repetitive in that each ancillary section just lists a bunch of fields and it's own grid).

Thanks for your input!
 
I'm not really sure of what kind of data you are using, so consider those as ideas more than advices and only pick those that fit your need.

Maybe you could show us some mock ups or prototypes of what you intend to do?

Could a custom control with a scroll bar do the job like in the attached screenshot? I've turned to custom controls a few times when I needed to display data that wouldn't fit in a DataGridView, but felt wrong as hundreds of floating controls on a page.
 

Attachments

  • Éden plant list.JPG
    Éden plant list.JPG
    82.6 KB · Views: 30
I'm not really sure of what kind of data you are using, so consider those as ideas more than advices and only pick those that fit your need.

Maybe you could show us some mock ups or prototypes of what you intend to do?

Could a custom control with a scroll bar do the job like in the attached screenshot? I've turned to custom controls a few times when I needed to display data that wouldn't fit in a DataGridView, but felt wrong as hundreds of floating controls on a page.
Got something like that using a ListView on hand (or a link to one)?
 
I would attach a screenshot if i only knew how...

The grid that I use works rather well, and I like the explorerBar to use as the menu. That's decided. I'm just not sure of the best way to display the data entry fields and associated grid. Do I go with the MDI and have to manage multiple forms or do I stick with one form and have to manage multiple groupboxes with textboxes inside. Or maybe there's an even better way to work with this kind of situation...? Other controls, other methods for using a menu and displaying the data?

Perhaps I'm just overthinking this.

Thanks for your consideration, at any rate. :)
 
Got something like that using a ListView on hand (or a link to one)?

It's a simple UserControl with GDI+ drawn stuff on it. It all came from performance issues from loading the images (I couldn't make thumbnails so I had to retrieve them from disk at full resolution) and we needed some special actions and visual cues that I wasn't sure would be possible using a DataGridView. You can sort by localized category name which is actually referenced only by foreign key in the plant table and some other "nice to have" that would have bugged me if I had a data bound grid control.

Do I go with the MDI and have to manage multiple forms or do I stick with one form and have to manage multiple groupboxes with textboxes inside.

I don't know what would be the easiest to manage. But if you target people like gardeners :rolleyes:, they will probably have difficulties with MDI screens.

As for attachments, there are a bunch of additional options at the bottom of the page when you post something on the boards. You will find a button named "Manage Attachments" there (unless you don't have the same options as me for some reason).
 
Ok, well I attached a picture, but since it can't be more than 100 KB it's tiny. Just a general idea of what I'm putting together. ExplorerBar on the left, fields and grid on the right. Each time the user selects an option in the ExplorerBar, the fields and grid on the right change to reflect that new ancillary data.

I think I actually am over-thinking this. I just have this feeling that I've missed something, like a reason I should choose one method over the other, or if there is something better altogether.

Thank you for your input, you have been helpful, if only to confirm my suspicions....

:)
 

Attachments

  • mockup.bmp
    83 KB · Views: 30
Back
Top