Solved

Project management app (best way to do this?)

Posted on 2010-08-12
17
272 Views
Last Modified: 2013-11-26
My boss has asked me to write a Lite version of Microsoft Project.  It will contain just a few basic functions.  If you look at the left side of a MS Project screenshot, you will see where they show Task Name, Duration, etc.  I assume a listview would be ok to use there.  On the right side, where you see the date span information - what controls would you suggest I use there?  I just want suggestions on how you guys would handle that.

I was hoping to databind the left side to a database but I guess VB doesn't allow databinding in a listview.  So far I have created a SQL database to store TaskNumber, TaskName, Who, Duration, Start, Finish, Dependancy.

I know there are free Project apps out there, but he wants me to write our own.

Thanks in advance.

Edit:  included a pic of what i have so far (using a Split container control)

 Pic of what i have so far
0
Comment
Question by:LD147
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 9
  • 8
17 Comments
 
LVL 24

Expert Comment

by:alexey_gusev
ID: 33427211
0
 
LVL 1

Author Comment

by:LD147
ID: 33428739
I appreciate the response, but that project is written in C++.  I'm looking to do this in VB as i am familiar with VB.
0
 
LVL 24

Expert Comment

by:alexey_gusev
ID: 33429171
well, you wanted ideas, didn't you ;)
0
MIM Survival Guide for Service Desk Managers

Major incidents can send mastered service desk processes into disorder. Systems and tools produce the data needed to resolve these incidents, but your challenge is getting that information to the right people fast. Check out the Survival Guide and begin bringing order to chaos.

 
LVL 1

Author Comment

by:LD147
ID: 33429586
I'm going to use a bound DataGrid view for the left pane (because the user can then edit the fields).  Still need to figure out the date span thing though.  Can I draw/paint in a cell in a datagrid?
0
 
LVL 24

Expert Comment

by:alexey_gusev
ID: 33429648
yes, you can, you can even create custom column for datagrid and perform there whatever you want
0
 
LVL 1

Author Comment

by:LD147
ID: 33430719
Well, my dataGrid is being a pain in the *#*&#*&#@.  I had assumed that because I bound it to the SQL database, and it shows the data just fine, it would also update back to the database automatically when I typed into the grids.  Guess not.... grrrrrrr! ;)
0
 
LVL 24

Expert Comment

by:alexey_gusev
ID: 33430878
0
 
LVL 1

Author Comment

by:LD147
ID: 33431563
Aha!  Thanks for the link.  I was able to add a line of code that makes the update work as planned.
0
 
LVL 24

Expert Comment

by:alexey_gusev
ID: 33432474
great.

so generally speaking, you might base your UI on datagridview + a bunch of custom columns if necessary. that would be the simplest case.

in more complicated approach you might want something like treeview maybe, or custom grid to be able to define hierarchical sub-tasks. the possibilities are infinite :)
0
 
LVL 1

Author Comment

by:LD147
ID: 33433506
Well I decided to do the whole thing in a datagrid and not mess with the split container.  Here's a pic of what I have so far.  Now, in the column to the right of the "Dependency" column, I just need to be able to draw a bar, to represent the time span of the tasks.  I have already determined the earliest date used, the latest date used, which of course gives me a complete span value, in days.  

BTW, I would love to omit weekends from the duration.
capture2.JPG
0
 
LVL 24

Accepted Solution

by:
alexey_gusev earned 500 total points
ID: 33435420
just define your custom column and add it to the datagrid:

http://www.code-magazine.com/Article.aspx?quickid=0707061

you can find a lot of samples on the net, just google for it :) . Above one seems doing what you want
0
 
LVL 24

Expert Comment

by:alexey_gusev
ID: 33444268
any news?
0
 
LVL 1

Author Comment

by:LD147
ID: 33444914
I'll be on this today.  You sent the previous response on the weekend ;)
0
 
LVL 1

Author Comment

by:LD147
ID: 33445850
I guess I will keep googling for something more simple.  I can't follow that web page.  I pasted everything in and I guess I haven't pasted something in the right spot and it's giving me errors.  I need something easy to implement, but I will reward you in a little bit for your work.

Why can't a solution to something like this be as easy as:

1) Specify which cell you would like to draw in.
2) draw a filled rectangle in that cell.
3) Done.

:)

It should be 4 or 5 lines of code.  Instead, you have to jump through rings of fire to do anything.

lol
0
 
LVL 24

Expert Comment

by:alexey_gusev
ID: 33445953
that's what custom column is for.

but before doing it, you could inspect datagridview existing events:

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview_members.aspx

one of OnCellXXX might be just what you need.
0
 
LVL 1

Author Comment

by:LD147
ID: 33447845
This is what I've managed to do.  It's a bit of a cheat but it works surprisingly well.  I simply used the "|" character and repeated it based on the duration.  It looks ok (to me) and does the job well enough. ;)  Now I can make a few little enhancements to it, and I should be done with it soon :)


Capture3.JPG
0
 
LVL 24

Expert Comment

by:alexey_gusev
ID: 33448152
as long as it works for you :)


but honestly, I don't see why couldn't you follow the sample from the article, it describes how to create custom column and optionally custom cell for it, then you could do whatever you like in its OnPaint() method
0

Featured Post

Forrester Webinar: xMatters Delivers 261% ROI

Guest speaker Dean Davison, Forrester Principal Consultant, explains how a Fortune 500 communication company using xMatters found these results: Achieved a 261% ROI, Experienced $753,280 in net present value benefits over 3 years and Reduced MTTR by 91% for tier 1 incidents.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…

735 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question