I just started working with gantt view, so I have some questions
Can we include multiple projects in ultraGanttView?
I want to use a List as datasource, actually i am working like this
ultraCalendarInfoGanttView.DataBindingsForProjects.BindingContextControl = this; ultraCalendarInfoGanttView.DataBindingsForProjects.DataSource = new ProjectManager().GetProjects();ultraCalendarInfoGanttView.DataBindingsForTasks.BindingContextControl = this;ultraCalendarInfoGanttView.DataBindingsForTasks.DataSource = new TaskManager().GetTasks();
But I didn't get any data in view, please help me to figure out this.
mayank164 said:Can we include multiple projects in ultraGanttView?
Our UltraCalendarInfo could conatins one or more Projects in the ProjectCollection, but UltraGanttView control could show only one project. So if you have two or more projects you should switch between projects. For example:
this.ultraGanttView1.Project = this.ultraGanttView1.CalendarInfo.Projects[2];
Could you please take a look in our online documentation about the binding
http://help.infragistics.com/Help/NetAdvantage/WinForms/2011.2/CLR2.0/html/WinGanttView.html
http://help.infragistics.com/Help/NetAdvantage/WinForms/2011.2/CLR2.0/html/WinGanttView_Using_WinGanttView.html
and let me know if you have any questions.
Regards
Thanks for considering this post also
I take the look of the link you given me, but in that tasks are added one by one can't we assign some data source,so that grid will populate all tasks and also get viewed in Gantt view
Thanks
Can you tell me why this limitation is there? I wasted my one week just because of data type of column atleast they have to mention somewhere these kind of boundation.Any way thanks for your kindness.
I have one more question.
How can I show dependency between two tasks by following same procedure as you did?
Hi,
One possible approach could be if you are using column "Predcessors" in your UI. If you create such kind dependency, this dependency will be stored in your database in the binary column "All properties". More information about dependency you could find in our documentation: http://help.infragistics.com/Help/NetAdvantage/WinForms/2011.2/CLR2.0/html/WinGanttView_Customize_Chart_Section_of_WinGanttView.html
Also please take a look at the attached video, that I made for you using dependency.
Let me know if you have any questioins.
Thanks for reply.
Now can you tell me, how to use entity list as data source for projects and tasks.There is one thing also
I want to use cursor in drag mode,means I don't want to use scrollbar instead of it when I move cursor horizontally it will scroll the timeline section.
mayank164 said:Now can you tell me, how to use entity list as data source for projects and tasks
Could you please take a look at the attached sample. I made small sample for you using this approach. Also take a look at the attached video file - Video 339 for details.
mayank164 said: I want to use cursor in drag mode,means I don't want to use scrollbar instead of it when I move cursor horizontally it will scroll the timeline section.
private void ultraGanttView1_MouseDown(object sender, MouseEventArgs e) { ultraGanttView1.Cursor = Cursors.Hand; } private void ultraGanttView1_MouseUp(object sender, MouseEventArgs e) { ultraGanttView1.Cursor = Cursors.Default; } int temp; private void ultraGanttView1_MouseMove(object sender, MouseEventArgs e) { int i; if (ultraGanttView1.Cursor == Cursors.Hand) { if (temp > e.X) i = 1; else i = -1; ultraGanttView1.EnsureDateTimeVisible(ultraGanttView1.TimelineSettings.VisibleDateTimeRange.StartDateTime.AddDays(i)); temp = e.X; } }
private void ultraGanttView1_MouseDown(object sender, MouseEventArgs e)
{
ultraGanttView1.Cursor = Cursors.Hand;
}
private void ultraGanttView1_MouseUp(object sender, MouseEventArgs e)
ultraGanttView1.Cursor = Cursors.Default;
int temp;
private void ultraGanttView1_MouseMove(object sender, MouseEventArgs e)
int i;
if (ultraGanttView1.Cursor == Cursors.Hand)
if (temp > e.X) i = 1;
else i = -1;
ultraGanttView1.EnsureDateTimeVisible(ultraGanttView1.TimelineSettings.VisibleDateTimeRange.StartDateTime.AddDays(i));
temp = e.X;
Please take a look at the second video file - Video 338 to see this behavior.
Let me know if you have any questions.
I suppose that you are using ultraCalendarInfo1_AfterAppointmentAdded() event to update your database only for the fields that you bind to your UltraCalendarInfo. If you want to update your DB with data from your extra fields, just call update method of your TableAdapter (only for these fields) when you press a button from the win form that add a tasks.
mayank164 said: In database I have start date and end date not duration column,So how I show task by calculating duration?
If you have start and end date, so you could calculate the task`s duration. You could do this in your C# code or in your database. For example:
C# DateTime startDate = DateTime.Today; DateTime endDate = DateTime.Today.AddDays(10); TimeSpan diffDate = endDate.Subtract(startDate); MessageBox.Show("Days difference = "+ diffDate.Days.ToString()); SQL DECLARE @BegDate DATETIME DECLARE @EndDate DATETIME SET @BegDate = GETDATE() SET @EndDate = DATEADD(dd, 10, GETDATE()) PRINT DATEDIFF(dd, @BegDate,@EndDate) Let me know if you have any questions. Regards
C#
DateTime startDate = DateTime.Today;
DateTime endDate = DateTime.Today.AddDays(10);
TimeSpan diffDate = endDate.Subtract(startDate);
MessageBox.Show("Days difference = "+ diffDate.Days.ToString());
SQL
DECLARE @BegDate DATETIME
DECLARE @EndDate DATETIME
SET @BegDate = GETDATE()
SET @EndDate = DATEADD(dd, 10, GETDATE())
PRINT DATEDIFF(dd, @BegDate,@EndDate)
I'll explain you,I have a form to add task, in that form I have some extra field which do not allow null. I don't want that user enter value for field in gantt chart and there is no need to show in gantt chart so I didn't bind them with calendarInfo .now when user add task these fields also get initialized with some default data in datatable so I can insert task.
I think you understand.
I have one more query
In database I have start date and end date not duration column,So how I show task by calculating duration?
I`m not sure what is your scenario, but maybe you could handle ultraCalendarInfo1_AfterAppointmentAdded() event and using e.Appointment properties you could update your data table. I`m not sure where you are bind this table, but all available data in your UltraCalendarInfo will be represent in the UltraGanttView. Of course you could hide some columns from your task grid.
Let me know if you think that I misunderstood your scenario
Thanks,
This is alright.Also give the answers of second part of question
when task is added I want to initialize some columns with some values in data table only and don't want to show in tasks grid.