Search EggHeadCafe's Job Board
EggHeadCafe Silverlight WPF ASP.NET VB.NET C# Excel SQL Server SharePoint
search
.NET Framework GroupsView
.NET Distributed_Apps
.NET
.NET ADO.NET
.NET ASP.NET
.NET ASP.NET Security
.NET ASP.NET Webcontrols
.NET ASP.NET Web Services
.NET Clr
.NET Compact Framework
.NET Drawing
.NET Interop
.NET Performance
.NET Web Services
.NET Windows Forms
.NET Windows Forms Controls
.NET General
.NET Csharp
.NET Visual Basic
.NET Vc
.NET Security
.NET Xml
Vsnet Debugging
Xml
Xsl
Scripting Jscript
Scripting Visual Basicscript
Scripting Wsh
Smartphone Developer
Visual Basic Com
Visual Basic Controls
Visual Basic Crystal
Visual Basic Database Ado
Visual Basic Syntax
Visual Basic Winapi
Vc Atl
Vc Debugger
Vc Language
Vc Mfc
Vc Stl
Visio Developer Visual Basica
Windowsce Embedded Vc
Windows Powershell
Visual Basic Vista Compatibility
Deployment Server
.NET Micro Porting

Group SummariesView
.NET Framework
Access
BizTalk
Certifications
CRM
DDK
Exchange Server
FoxPro
French
French .NET
Games
German
German .NET
Graphic Design
IIS
Internet
ISA Server
Italian
Italian .NET
Maps
MCIS
Miscellaneous
Mobile Apps
Money
MSN
Networking
Office
Ops Mgr
Publisher
Security
SharePoint
Small Business
Spanish
Spanish .NET
SQL Server
Systems Management Server
Transaction Server
Virtual PC / Virtual Server
Visual Studio
Win32
Windows 2000
Windows 2003 Server
Windows 7
Windows Live
Windows Media
Windows Update
Windows Vista
Windows XP
 

View All Microsoft NET Visual Basic Posts  Ask A New Question 

How would you design this Windows form?

Ronald S. Cook posted on Wednesday, March 21, 2007 7:09 PM

I need ideas on how to best design a Windows form for my particular
situation.

On a cattle feeding yard there will be between about 300 and 600 pens.  On
my "Pen Feeding Sequence" form, I want the user to be able to setup and
maintain the order in which the pens should be fed (ultimately in the Pen
table is a column named Sequence that gets an interger value).

So on the form...

Sequence     Pen
1            A101
2            A102
3            B245
4            C763


Easy enough.

I suppose I could have a datagrid of Pens ordered by sequence and the user
would click to edit each row and put a number (or blank) for the sequence
number.  But that's the easy way out for me the developer.

I want what would be slick for the user.  Some sort of dragging of a pen to
a number?  I could see that easily if the number of pens would fit on one
form but we're talking hundreds here.

Any thoughts?

Thanks,
Ron
reply

 

How would you design this Windows form?

EMartinez posted on Wednesday, March 21, 2007 9:01 PM

I would most likely use a DataGridView for this purpose. Ofcourse, the
ultimate in fancy could be provided using an Adobe Flex front-end w/a
VB.NET middle tier. Here is an example and the Flex site as well. Hope
this is helpful.

http://www.templatesoft.com/
http://www.adobe.com/devnet/flex/?tab:samples=1

Regards,

Enrique Martinez
Sr. Software Consultant
reply

If you are looking for a drag and drop type of interface ...

jeff posted on Thursday, March 22, 2007 10:47 AM

If you are looking for a drag and drop type of interface ... maybe look at
Tree Views for doing this...

Two tree views on a form ...

Left side tree veiw - YOUR SCHEDULE
0-100 (77 openings)
0-10 (2 openings)
1    Pen001
2    - OPEN -
3    Pen356
4    -OPEN -
5
...
11-20 (10 openings)
21-30 (8 openings)
...
101-200
201-300
...

You can use whatever grouping (ie every 100, then 10's make it user
cutomizable)

Rigth Side Tree View - Your PENS
Same as you pens...but allow the user to define and build there own grouping
mechanism ... allow them 2 levels of group...
- Yard and Location - some way to organize / represent / group your tabular
data spatially.

Yard 1 (45 pens)
Location A (10 pens)
Pen001 - No Scheduled
Pen004 - 300
Pen007 - 301
Loaction B (20 pens)
Pen 034
Pen 050
Pen 051
Yard 2
Location C
Location D

....

You could develop context menus to allow the user to easily drag and drop
items ...
You could have the two treeviews side by each ... allow the user to drag and
drop items BOTH ways ...


.................

OR another design approach...

Left side treeview ... YOUR PENS
Right hand 'grid view' like a calender...blocks...

-------------------------------------------------------------
-------------------------------------------------------------
-------------------------------------------------------------

Hard to draw...but make it like a calender view, where you can see each day
of the month it a grid. (Sun to Sat along the top and each week below).

Make logical blocks ... have them roll-up and roll-down to show and hide
detail... Give information in the header of each block (sequence from,
available slots and so on) SO the user can tell what is going on when
looking at a row of blocks that are roll-up.

There a lots of ways to accomplish this, you simple need to determine how
often the user needs to set this up and how much fun you want to have
building the interface.  The easy way is to have two grid views side by each
... but this is not fun.

Food for thought
Jeff
reply

Great ideas.. thanks!

Ronald S. Cook posted on Thursday, March 22, 2007 10:47 AM

Great ideas.. thanks!
reply

How would you design this Windows form?

Branco Medeiros posted on Thursday, March 22, 2007 3:41 PM

Hi, Ron.

You could use the (popular) move up/down buttons, only that it could
operate in multiple selected items; and context menu items for "Move
to...", "Move selected items to here", etc.

HTH.

Regards,

Branco.
reply

...another idea would be to have a schedule hierachy...

jeff posted on Friday, March 23, 2007 7:46 AM

...another idea would be to have a schedule hierachy...

not knowing your business, but I would assume that the pens are grouped in
some logical manner ... spatially ... by a work area or work zone or
something ... similar to Employees in a company ... company, division,
department ... this allows you (the programmer) to form some type of
relationship between groups of pens

So, ... saying this and based on the following assumations... here is what I
am trying to say.

Assume:
many cattle feeding yards per install (top of the pen 'grouping')
each yard is broken into work zones.
each pen belongs to 1 work zone.

Now, you would create the yards (yard A, yard B, yard C, ...)
Now, you would create all the Work Zones in yard A (WZ A01, WZ A02...), yard
B (WZ B01, WZ B02) and so on for each yard Come up with some type of naming
convention.
Now, you assign each pen to a work zone...

So, you now have your pens organized by logical units of work...or
management units.

Now, for each work zone, you would schedule your pens for feeding ...
relative to the parent work zone.
Now, for each yard, you would schedule each work zone...relative to the
parent yard.
Now, you would schedule each yard.

This way, when you are 'rescheduling' feeding patterns (for what ever
reason, mix it up for the farmer ... i do not know...), you can easily
reschedule BLOCKS of pens without having to touch or move every single pen.

This will only work if pens can be logically grouped and remained grouped.
Otherwise, if the user is constantly having to move pens from one work zone
to another, in order to achieve the proper feed schedule, this approach many
cause them a bit of problem.

However, saying this, it is a more logical approach to help with the 'Pens
Feeding Schedule WorkFlow' ... chances are - intentionally or
unintentionally, the pens are grouped in some logical manner for improved
feeding efficiency.  Identify this and mirror this in the program and you
will be ahead of the game.

Even if the farmer or client does not operate like this (or says he does not
operate like this), i would implement this structure anyways, because,
somebody will operate like this and this will be a good feature to have.
For the guy that does not, simply create 1 yard with 1 zone and assign all
the pens to that zone ... done!

Food for thought  ... ooops stupid joke.

Jeff
reply


Previous Microsoft NET Visual Basic conversation.