i am using scheduler control. its working fine. But i want to group my scheduler in multiple column.
How Can I Use Multiple Group In Rad Scheduler in Day View.
When i use gingle group By Then is Working Fine. But Now i want to use Multiple group By Option.
My Need :- First Group by Doctor Wise And then In Side Doctor Groping Room Wise.
I Saw ur Example but ther is option only Group by Room And Date in Week View Not In Day View. i Want to Group By Doctor And Then Room In Day View. Please Help Me
Thanks
Chandan
My Code is Below :-
ASPX Code :-
<telerik:RadScheduler AllowInsert="false" GroupBy="Doctor, Facility" HoursPanelTimeFormat="hh:mm tt" OnAppointmentDataBound="RadScheduler1_AppointmentDataBound"
OnAppointmentCreated="RadScheduler1_AppointmentCreated" runat="server" ID="RadScheduler1"
Skin="Office2007" Height="545px" CustomAttributeNames="StatusId" Width="690px"
ShowFooter="false" SelectedDate="2010-03-18" DayStartTime="07:00:00" DayEndTime="21:00:00"
FirstDayOfWeek="Monday" LastDayOfWeek="Sunday" EnableDescriptionField="true"
ShowNavigationPane="false" OnAppointmentDelete="RadScheduler1_AppointmentDelete"
DataSubjectField="Subject" DataStartField="FromTime" DataEndField="ToTime" ShowAllDayRow="false"
AllowEdit="false" DataKeyField="AppointmentId" DataDescriptionField="Description" OnTimeSlotContextMenuItemClicked="RadScheduler1_TimeSlotContextMenuItemClicked"
AllowDelete="false" OnAppointmentContextMenuItemClicked="RadScheduler1_AppointmentContextMenuItemClicked"
OnNavigationCommand="RadScheduler1_NavigationCommand" OnTimeSlotCreated="RadScheduler1_TimeSlotCreated">
<AppointmentContextMenuSettings EnableDefault="false" />
<TimelineView UserSelectable="false" />
<ResourceTypes>
<telerik:ResourceType KeyField="FacilityID" Name="Facility" TextField="FacilityName" ForeignKeyField="FacId" />
</ResourceTypes>
<ResourceTypes>
<telerik:ResourceType KeyField="DoctorID" Name="Doctor" TextField="DoctorName" ForeignKeyField="DocId" />
</ResourceTypes>
<AppointmentTemplate>
<%
# Eval("Subject")%>
<br />
<asp:Label runat="server" ID="Teacher" />
<br />
<asp:Label runat="server" ID="Students" />
</AppointmentTemplate>
<AppointmentContextMenus>
<telerik:RadSchedulerContextMenu runat="server" DataTextField="Status" DataValueField="StatusId"
ID="SchedulerAppointmentContextMenu" AppendDataBoundItems="true">
<Items>
<telerik:RadMenuItem Text="Copy" Value="Copy" />
<telerik:RadMenuItem IsSeparator="True" />
<telerik:RadMenuItem Text="Edit" Value="Edit" />
<telerik:RadMenuItem IsSeparator="True" />
</Items>
</telerik:RadSchedulerContextMenu>
</AppointmentContextMenus>
<TimeSlotContextMenus>
<telerik:RadSchedulerContextMenu runat="server" ID="SchedulerTimeSlotContextMenu">
<Items>
<telerik:RadMenuItem Text="New Appointment" Value="New" />
<telerik:RadMenuItem IsSeparator="true" />
<telerik:RadMenuItem Text="Paste" Value="Paste" />
</Items>
</telerik:RadSchedulerContextMenu>
</TimeSlotContextMenus>
<TimeSlotContextMenuSettings EnableDefault="False" />
</telerik:RadScheduler>
CS Page Codding :-
protected
void btnRefresh_OnClick(Object sender , EventArgs e)
{
DataSet ds = new DataSet();
Hashtable HashIn = new Hashtable();
DAL.
DAL dl = new DAL.DAL(DAL.DAL.DBType.SqlServer, sConString);
String strProvider = "";
foreach (RadListBoxItem currentItem in RadLstDoctor.Items)
{
if (currentItem.Checked == true)
{
String value = currentItem.Value;
strProvider = strProvider +
"<Table1><c1>" + value + "</c1></Table1>";
}
}
if(strProvider=="")
{
Alert.ShowAjaxMsg("Please select one provider.",Page);
return;
}
HashIn.Add(
"@inyHospitalLocationId", Session["HospitalLocationID"]);
HashIn.Add(
"@intFacilityId",ddlFacility.SelectedValue);
HashIn.Add(
"@xmlDoctorIds", strProvider); // "<Table1><c1>1</c1></Table1>"); // ddlDoctor.SelectedValue);
HashIn.Add(
"@chrForDate", CalApp.SelectedDate.Date.ToString("yyyy/MM/dd"));
ds = dl.FillDataSet(
CommandType.StoredProcedure, "uspGetDoctorAppDetailstest", HashIn);
if (ds.Tables[0].Rows.Count > 0)
{
RadScheduler1.SelectedDate = CalApp.SelectedDate;
RadScheduler1.DayStartTime =
TimeSpan.Parse(ds.Tables[0].Rows[0].ItemArray[0].ToString());
RadScheduler1.DayEndTime =
TimeSpan.Parse(ds.Tables[0].Rows[0].ItemArray[1].ToString());
RadScheduler1.MinutesPerRow =
int.Parse(ds.Tables[0].Rows[0].ItemArray[2].ToString());
RadScheduler1.TimeLabelRowSpan = 60 /
int.Parse(ds.Tables[0].Rows[0].ItemArray[2].ToString());
RadScheduler1.DataKeyField =
"AppointmentId";
RadScheduler1.DataStartField =
"FromTime";
RadScheduler1.DataEndField =
"ToTime";
RadScheduler1.DataSubjectField =
"Subject";
RadScheduler1.GroupBy =
"Doctor, Facility";
RadScheduler1.ResourceTypes[0].DataSource = ds.Tables[3];
RadScheduler1.ResourceTypes[1].DataSource = ds.Tables[2];
RadScheduler1.DataSource = ds.Tables[1];
RadScheduler1.DataBind();
lblFacility.Text = ddlFacility.SelectedItem.Text;
}
else
{
Alert.ShowAjaxMsg("There is no time define in selected provider and facility.", Page);
}
}