Hi,
I'm having a problem with the gantt control in my asp web app. To see the content of the gantt control is needed to click twice on it.
The control's datasource is correctly loaded even the first time, so is not the way i use the data (or binding) but the page loading or something like this.
If somebody can help me...
Thanks...
I'm having a problem with the gantt control in my asp web app. To see the content of the gantt control is needed to click twice on it.
<
telerik:RadGantt
runat
=
"server"
ID
=
"GanttChart"
CssClass
=
"GanttChart"
OnDataBound
=
"GanttChart_DataBound"
Skin
=
"Silk"
ListWidth
=
"30%"
Height
=
"650px"
Width
=
"1038px"
SelectedView
=
"WeekView"
AutoGenerateColumns
=
"false"
WorkWeekStart
=
"Monday"
WorkWeekEnd
=
"Friday"
>
<
Columns
>
<
telerik:GanttBoundColumn
DataField
=
"Title"
HeaderText
=
"Attivita"
DataType
=
"String"
UniqueName
=
"Title"
Width
=
"150px"
AllowEdit
=
"false"
></
telerik:GanttBoundColumn
>
<
telerik:GanttBoundColumn
DataField
=
"Start"
HeaderText
=
"Inizio"
DataType
=
"DateTime"
UniqueName
=
"Start"
DataFormatString
=
"dd/MM/yy"
Width
=
"65px"
AllowEdit
=
"false"
/>
<
telerik:GanttBoundColumn
DataField
=
"End"
HeaderText
=
"Fine"
DataType
=
"DateTime"
UniqueName
=
"End"
DataFormatString
=
"dd/MM/yy"
Width
=
"65px"
AllowEdit
=
"false"
/>
<
telerik:GanttBoundColumn
DataField
=
"PercentComplete"
HeaderText
=
"Completamento"
DataType
=
"Number"
UniqueName
=
"PercentComplete"
Width
=
"110px"
AllowEdit
=
"false"
/>
</
Columns
>
<
YearView
UserSelectable
=
"true"
/>
<
DataBindings
>
<
TasksDataBindings
IdField
=
"ID"
ParentIdField
=
"ParentID"
StartField
=
"Start"
SummaryField
=
"Summary"
EndField
=
"End"
TitleField
=
"Title"
PercentCompleteField
=
"PercentComplete"
OrderIdField
=
"OrderID"
/>
<
DependenciesDataBindings
TypeField
=
"Type"
IdField
=
"ID"
PredecessorIdField
=
"PredecessorID"
SuccessorIdField
=
"SuccessorID"
/>
</
DataBindings
>
</
telerik:RadGantt
>
protected
override
void
OnPreRender(EventArgs e)
{
base
.OnPreRender(e);
//Day View
GanttChart.DayView.DayHeaderDateFormat =
"dddd dd/MM"
;
GanttChart.DayView.SlotWidth = Unit.Parse(
"55px"
);
GanttChart.DayView.HourSpan = 1;
GanttChart.DayView.TimeHeaderDateFormat =
"HH:mm"
;
//Week View
GanttChart.WeekView.DayHeaderDateFormat =
"ddd dd/MM"
;
GanttChart.WeekView.SlotWidth = Unit.Parse(
"85px"
);
GanttChart.WeekView.WeekHeaderDateFormat =
"ddd"
;
//Month View
GanttChart.MonthView.WeekHeaderDateFormat =
"ddd dd"
;
GanttChart.MonthView.SlotWidth = Unit.Parse(
"110px"
);
GanttChart.MonthView.MonthHeaderDateFormat =
"MMMM yy"
;
//Year View
GanttChart.YearView.MonthHeaderDateFormat =
"MMM"
;
GanttChart.YearView.SlotWidth = Unit.Parse(
"120px"
);
GanttChart.YearView.MonthHeaderDateFormat =
"Y"
;
//Common properties working for all views
GanttChart.ShowFullTime =
true
;
GanttChart.ShowFullWeek =
true
;
GanttChart.Culture = CultureInfo.CurrentCulture;
GanttChart.WorkWeekStart = DayOfWeek.Monday;
GanttChart.WorkWeekEnd = DayOfWeek.Friday;
GanttChart.AllowSorting =
false
;
}
public
List<Task> GetGanttDataSource(
int
projectId)
{
List<Task> tasks =
new
List<Task>();
var taskResult = GetDbResult(projectId);
int
hasNext = 0;
foreach
(var item
in
taskResult)
{
Task task =
new
Task();
task.ID = item.Id;
task.ParentID = item.ParentId;
task.Start = item.Start;
task.End = item.End;
task.Title = item.Title;
task.PercentComplete = item.PercentComplete;
if
(item.Summary)
item.Summary = taskResult.Any(x => x.ParentId == item.Id);
task.Summary = item.Summary;
task.Expanded =
true
;
task.OrderID = item.OrderId;
tasks.Add(task);
}
return
tasks;
}
The control's datasource is correctly loaded even the first time, so is not the way i use the data (or binding) but the page loading or something like this.
If somebody can help me...
Thanks...