Hi

Hi,

We are need to use the Schedule control.
Data loading from web service at the time of Date/Week /Month Change and Day/Week/Month View click Action.
i checked with your sample its Data Loading in First time load All the data.

I  Load the Schedule with Basic Data in First time.
at the time of click View Buttons its loop for multiple times.
args.requestType shows undefined let me know how to proceed.


Our code:
 navigation: "navigation",

function navigation(args) 
{
           console.log("args.requestType" + args.requestType);

}





1 Reply

KK Karthigeyan Krishnamurthi Syncfusion Team February 17, 2018 02:43 PM UTC

 
Thank you for contacting Syncfusion support. 
 
By default, Schedule supports load on demand feature and for the same we have prepared the sample which can be download from the below location. 
 
Note: In above sample, navigation event request type value is retrieved correctly. 
 
<Code> 
 
public ActionResult GetData(string CurrentView, DateTime CurrentDate, string CurrentAction) 
{ 
    var data = AppointmentRepository.FilterAppointment(CurrentDate, CurrentAction, CurrentView); 
    BatchDataResult result = new BatchDataResult(); 
    result.result = data; 
   
    result.count = db.Appointments.ToList().Count > 0 ? db.Appointments.ToList().Max(p => p.Id) : 1; 
    return Json(result, JsonRequestBehavior.AllowGet); 
} 
 
public static List<Appointment> FilterAppointment(DateTime CurrentDate, String CurrentAction, String CurrentView) 
{ 
    ScheduleDataDataContext db = new ScheduleDataDataContext(); 
    DateTime CurrDate = Convert.ToDateTime(CurrentDate); 
    DateTime StartDate = FirstWeekDate(CurrDate.Date); 
    DateTime EndDate = FirstWeekDate(CurrDate.Date); 
    List<Appointment> DefaultScheduleList = db.Appointments.ToList(); 
    switch (CurrentView) 
    { 
        case "day": 
            StartDate = CurrentDate; 
            EndDate = CurrentDate.AddHours(24); 
            break; 
        case "week": 
            EndDate = EndDate.AddDays(7); 
            break; 
        case "workweek": 
            EndDate = EndDate.AddDays(5); 
            break; 
        case "month": 
            StartDate = CurrDate.Date.AddDays(-CurrDate.Day + 1); 
            EndDate = StartDate.AddMonths(1); 
            break; 
    } 
    DefaultScheduleList = db.Appointments.ToList().Where(app => app.StartTime >= StartDate && app.StartTime <= EndDate).ToList();// here particular date DefaultSchedule is filtered 
    return DefaultScheduleList; 
} 
 
internal static DateTime FirstWeekDate(DateTime CurrentDate) 
{ 
    try 
    { 
        DateTime FirstDayOfWeek = CurrentDate; 
        DayOfWeek WeekDay = FirstDayOfWeek.DayOfWeek; 
        switch (WeekDay) 
        { 
            case DayOfWeek.Sunday: 
                break; 
            case DayOfWeek.Monday: 
                FirstDayOfWeek = FirstDayOfWeek.AddDays(-1); 
                break; 
            case DayOfWeek.Tuesday: 
                FirstDayOfWeek = FirstDayOfWeek.AddDays(-2); 
                break; 
            case DayOfWeek.Wednesday: 
                FirstDayOfWeek = FirstDayOfWeek.AddDays(-3); 
                break; 
            case DayOfWeek.Thursday: 
                FirstDayOfWeek = FirstDayOfWeek.AddDays(-4); 
                break; 
            case DayOfWeek.Friday: 
                FirstDayOfWeek = FirstDayOfWeek.AddDays(-5); 
                break; 
     &

Loader.
Up arrow icon