Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 277
  • Last Modified:

Project management app (best way to do this?)

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
LD147
Asked:
LD147
  • 9
  • 8
1 Solution
 
alexey_gusevCommented:
0
 
LD147Author Commented:
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
 
alexey_gusevCommented:
well, you wanted ideas, didn't you ;)
0
NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

 
LD147Author Commented:
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
 
alexey_gusevCommented:
yes, you can, you can even create custom column for datagrid and perform there whatever you want
0
 
LD147Author Commented:
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
 
LD147Author Commented:
Aha!  Thanks for the link.  I was able to add a line of code that makes the update work as planned.
0
 
alexey_gusevCommented:
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
 
LD147Author Commented:
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
 
alexey_gusevCommented:
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
 
alexey_gusevCommented:
any news?
0
 
LD147Author Commented:
I'll be on this today.  You sent the previous response on the weekend ;)
0
 
LD147Author Commented:
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
 
alexey_gusevCommented:
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
 
LD147Author Commented:
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
 
alexey_gusevCommented:
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

Configuration Guide and Best Practices

Read the guide to learn how to orchestrate Data ONTAP, create application-consistent backups and enable fast recovery from NetApp storage snapshots. Version 9.5 also contains performance and scalability enhancements to meet the needs of the largest enterprise environments.

  • 9
  • 8
Tackle projects and never again get stuck behind a technical roadblock.
Join Now