Solved

Project management app (best way to do this?)

Posted on 2010-08-12
17
274 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
Cloud Training Guides

FREE GUIDES: In-depth and hand-crafted Linux, AWS, OpenStack, DevOps, Azure, and Cloud training guides created by Linux Academy instructors and the community.

 
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 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

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

A basic question.. “What is the Garbage Collector?” The usual answer given back: “Garbage collector is a background thread run by the CLR for freeing up the memory space used by the objects which are no longer used by the program.” I wondered …
Recently while returning home from work my wife (another .NET developer) was murmuring something. On further poking she said that she has been assigned a task where she has to serialize and deserialize objects and she is afraid of serialization. Wha…
In this video, viewers are given an introduction to using the Windows 10 Snipping Tool, how to quickly locate it when it's needed and also how make it always available with a single click of a mouse button, by pinning it to the Desktop Task Bar. Int…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…

623 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