|
Hello everyone!
First i would like to congrats the author for the excellent job.
My question is related to how do I add a real-time vertical bar into the gantt chart??
I was abble to add an static vertical bar adding this code:
grfx.DrawLine(Pens.Red, barStartLeft + index, 0, barStartLeft + index, lastLineStop)
into the GanttChart.vb - ''' Draws the vertical lines
But the moving bar is being a real trouble for me...
Could anyone help me into that solution?
|
|
|
|
|
After changing the value of the bar with the mouse (the barChanged event)
How do I get the new start time value
|
|
|
|
|
After changing the value of the bar with the mouse (the barChanged event)
How do I get the new start time value
|
|
|
|
|
Hello,
What a nice work ! Really big thanks for your code.
I have a question regarding refreshment of the ChartGantt.
I populate ChartGantt with SQL data and when changing an endDate of a row I would like to refresh ChartGantt (repaint it totally). Does any possibility without close my app ?
Thank's
Sylvain
Sorry for my bad English.
|
|
|
|
|
If you just mean to refresh the visible screen, you can simply call Invalidate, or call the PaintChart method which does that for you.
If you mean that you want to reload the entire set of bars based on new data, you would need to manage your own set of bars and re-add them to the chart. You can call the RemoveBars method to remove the bars, and the AddChartBar method for each bar you wish to add back into the chart.
|
|
|
|
|
Hello and thank's for your last answer.
Sorry I didn't work on the project since last time.
RemoveBars is okay but text on the left side of chart isn't removed.
If I redraw the bars with AddBar, I've the old text beyond the new.
Does any possibility to remove this old text ?
Regards,
Sylvain
|
|
|
|
|
Just found what's happend !
I forgot to clear the "
Public lst As New List(Of BarInformation) " before to refresh the gantt.
Everything's now okay.
Sylvain
|
|
|
|
|
When i compile/debug this project F-Secure flags the exe file as Gen:Variant.Barys.53655
Why?
|
|
|
|
|
When the start date is like '2016-01-10', the bar ends at 2016-01-09.How to make it end at 2016-01-10 and change similarly for hour chart?
|
|
|
|
|
It's unclear to me how to add this control to my project.
|
|
|
|
|
Two choices:
1) Download the dll, and reference it in your project
2) Download the source, build it, and reference it in your project
You can add the control to your Toolbox which will enable you to drag and drop it onto a form. Otherwise you can easily create a chart in code, something like this (off the top of my head and untested):
var chart = new GanttChart();
MyForm.Controls.Add(chart);
Although a late response, I hope that this is helpful to anyone confused over how to use the control.
|
|
|
|
|
Dear Sir
I am using gantt chart control but tool tip event ToolTipText_Draw is not working on. I have used the same code as provided by in article.
|
|
|
|
|
Hi
Thanks for the script. Yours seems to be main VB.net script on the planet. It is well written and quite easy to use. I have an urgent requirement to make a gantt chart for a set of activities which occur in less than 59 seconds.. May be ten to 15 activites.
Can you pl give me a hint on how to modify this script to make it work for a tim of 59 secs? I think it is possible, but just cannot figure out how to go about it !
Pl help..
Thanks very much for the script.
Renga
|
|
|
|
|
Hi Adagio.81,
Have you update your control with Horizzontal scrollbar?
Thanks.
|
|
|
|
|
Hi Adagio.81,
How can we add Horizontal Scroll Bar to Gantt Chart.
Thanks.
|
|
|
|
|
As you said EASY to use, no pain to get running. Solves simple problems without all added complexities of other controls.
|
|
|
|
|
I have been playing with this for a while. I think this is great (Some limitations, but with everyones help it could be a good tool. So here is my change. I hope you like it.
Change (In DrawBars)
grfx.FillRectangle(obBrush, obRect)
grfx.DrawRectangle(Pens.Black, obRect)
To
Dim Radius As Integer = d / 2
Dim gp As GraphicsPath = New GraphicsPath()
If c <= 0 Then
Else
If c < Radius * 2 Then
If c < Radius Then
gp.AddLine(a, b, (a + c), b)
gp.AddLine(a + c, b, a + c, (b + d))
gp.AddLine((a + c), b + d, a, b + d)
gp.AddLine(a, (b + d), a, b)
gp.CloseFigure()
Else
gp.AddLine(a, b, (a + c) - Radius, b)
gp.AddArc((a + c) - Radius, b, Radius, Radius, 270, 90)
gp.AddLine(a + c, b + Radius, a + c, (b + d) - Radius)
gp.AddArc((a + c) - Radius, (b + d) - Radius, Radius, Radius, 0, 90)
gp.AddLine((a + c) - Radius, b + d, a, b + d)
gp.AddLine(a, (b + d) - Radius, a, b)
gp.CloseFigure()
End If
Else
gp.AddLine(a + Radius, b, (a + c) - Radius, b)
gp.AddArc((a + c) - Radius, b, Radius, Radius, 270, 90)
gp.AddLine(a + c, b + Radius, a + c, (b + d) - Radius)
gp.AddArc((a + c) - Radius, (b + d) - Radius, Radius, Radius, 0, 90)
gp.AddLine((a + c) - Radius, b + d, a + Radius, b + d)
gp.AddArc(a, (b + d) - Radius, Radius, Radius, 90, 90)
gp.AddLine(a, (b + d) - Radius, a, b + Radius)
gp.AddArc(a, b, Radius, Radius, 180, 90)
gp.CloseFigure()
End If
End If
grfx.SmoothingMode = SmoothingMode.AntiAlias
grfx.FillPath(obBrush, gp)
grfx.DrawPath(obPen, gp)
|
|
|
|
|
Hi,
I've downloaded the source code and tried to compile it. But gives error that control is missing. Do you have any DLL files separately to run the code?
Thanks,
Arun
|
|
|
|
|
Hi ...It's exactly the control um looking for, but is there any chance that you developed a web version of it??
|
|
|
|
|
I need version in web application to C#.
My application make control of position aicraft in box of aiport.
I need very help.
tanks
|
|
|
|
|
|
GanttChart.cs Line 56, it does not seem to work because I can't see the ToolTip.
So I modify,
this.GanttChart1.ToolTip.Draw += new DrawToolTipEventHandler(this.GanttChart1.ToolTipText_Draw);
this.GanttChart1.ToolTip.Popup += new PopupEventHandler(this.GanttChart1.ToolTipText_Popup);
on Form1_Load.
|
|
|
|
|
in My project, I have list item. for each item have gantt chart.
when user click on item, system will load grantt chart'item.
I meet problem when user click other item the your lib need to deplay time for refesh and draw chart again.
How to add waitting cursors when your lib draw chart ( I had add cursors in my code but it not effect).
|
|
|
|
|
Here is a very simple example how to add text to the center of each bar. You can adjust to fit your application, create a new sub to populate from your data source or add a new property 'bar.text' etc.
After the code in GanttChart.vb
grfx.DrawRectangle(Pens.Black, obRect)
grfx.FillRectangle(obBrush, obRect)
Add this:
Dim txt As String = "raz" & ControlChars.CrLf & "dwa" & ControlChars.CrLf & "trzy"
Dim txtFont As New Font("Arial", 10)
Dim txtWidth As Integer = grfx.MeasureString(txt, txtFont).Width
Dim txtHeight As Integer = grfx.MeasureString(txt, txtFont).Height
Dim barWidth As Integer = bar.TopLocation.Right.X - bar.TopLocation.Left.X
If txtWidth < barWidth And txtHeight < barHeight Then
grfx.DrawString(txt, txtFont, Brushes.Black, (barWidth / 2 - txtWidth / 2) + bar.TopLocation.Left.X, (barHeight / 2 - txtHeight / 2) + bar.TopLocation.Left.Y)
End If
This will only work if the text will fit inside the bar. My bars are 108 pixels tall so i can fit several lines but if yours are small or the default size, try one line
|
|
|
|
|
In the example chart 1 contians days while the upper only month, how to control it???
|
|
|
|
|