Как использовать метод SetDataSource сетки Kendo UI

Кто-нибудь был в состоянии использовать метод setdatasource сетки kendo UI? Я полагаю, что это используется для назначения источника данных, который может быть назначен сетке на более позднем этапе, а также для целей обновления сетки. Однако я не смог найти какой-либо надлежащей документации, которая объясняет, как использовать этот метод и сделать обновляемую сетку.

Я пытаюсь обновить свой источник данных через удаленный вызов ajax. Я также предположил, что он должен автоматически обновляться при обновлении источника, устанавливая для свойства autosync значение true. Каждый раз, когда я щелкаю элемент управления календаря, я передаю значение даты в функцию GetRemoteData, чтобы данные обновлялись через запрос ajax.

Это не работает в данный момент. Любая подсказка относительно того, что решение для этого?

Мой вид

    $('#calendarContainer').kendoCalendar({
        format: "dd/MM/yyyy",
        culture: "en-GB",
        change: onDateChange
    });


 function onDateChange() {
        var selectedDate = kendo.toString(this.value(), 'dd/MM/yyyy');

        GetRemoteData(selectedDate);
        /*
         $("#grid").data("kendoGrid").dataSource.data(bob);
         $("#grid").data("kendoGrid").dataSource.read();
        */
    }



   $('#grid').kendoGrid({

            dataSource:GetRemoteData(date),

            scrollable: {
                virtual: true
            },
            navigatable: true,
            groupable: true,
            sortable: true,
            selectable: "row",
            pageable: true,

            pageable: {
                input: true,
                numeric: false
            },

            resizable: true,
            reorderable: true,
            filterable: {
                extra: false
            },
            columns: [
                {
                    field: "DealNumber",
                    width: 150,
                    title: "DealNumber",
                    filterable: {
                        operators: {
                            string: {
                                startswith: "Starts With",
                                contains: "Contains"
                            }
                        }

                    },

                },
               {
                   field: "DealIssuer",
                   width: 150,
                   title: "Issuer",
                   filterable: {
                       operators: {
                           string: {
                               startswith: "Starts With",
                               contains: "Contains"
                           }
                       }
                   }

               },
                  {
                      field: "Ticker",
                      width: 150,
                      title: "Ticker",
                      filterable: {
                          operators: {
                              string: {
                                  startswith: "Starts With",
                                  contains: "Contains"
                              }
                          }
                      }

                  },
                     {
                         field: "DealType",
                         width: 150,
                         title: "Type",
                         filterable: {
                             operators: {
                                 string: {
                                     startswith: "Starts With",
                                     contains: "Contains"
                                 }
                             }
                         }

                     },
                        {
                            field: "DealValue",
                            width: 150,
                            title: "Value",
                            filterable: {
                                operators: {
                                    string: {
                                        startswith: "Starts With",
                                        contains: "Contains"
                                    }
                                }
                            }

                        },
                           {
                               field: "DealStatus",
                               width: 150,
                               title: "Status",
                               filterable: {
                                   operators: {
                                       string: {
                                           startswith: "Starts With",
                                           contains: "Contains"
                                       }
                                   }
                               }

                           },
                 {
                     field: "DealPricingCompletionDate",
                     width: 230,
                     title: "DealPricingCompletionDate",
                     format: "{0:dd/MM/yyyy}",
                     //  template: '#= kendo.toString(StartDate, "dd/MM/yyyy") #',
                     filterable: {
                         ui: "datetimepicker",
                         operators: {
                             date: {
                                 gt: "After",
                                 lt: "Before",
                                 eq: "Equals"
                             },
                             messages: {
                                 filter: "Apply",
                                 clear: "Clear"
                             }
                         }

                     }
                 },

                 {
                     command: { text: "View Details", click: showDetails }, title: " ", width: "140px"
                 },

            ],
            editable: "popup",
            height: 600
        }).data("kendoGrid");






function GetRemoteData(date) {

        var chosenDate;


        if (typeof date == "undefined") {
            chosenDate = "12-12-2013";
        }
        else {
            chosenDate = date;
        }

       var  source = new kendo.data.DataSource({
            autoSync: true,
            transport: {
                read: {
                    type: "GET",
                    url: "http://localhost:35798/RestServiceImpl.svc/GetDealData",
                    dataType: "jsonp",
                    contentType: "application/json; charset=utf-8",
                    cache: false,
                },

                parameterMap: function (data, type) {

                    var data = {
                        startDate: chosenDate
                    }
                    return data;
                }
            },
            schema: {
                model: {
                    fields: {
                        DealNumber: { type: "string" },
                        DealIssuer: { type: "string" },
                        Ticker: { type: "string" },
                        DealType: { type: "string" },
                        DealValue: { type: "number" },
                        DealStatus: { type: "string" },
                        DealPricingCompletionDate: { type: "date" }

                    }
                }
            },
            pageSize: 16
        });

        source.fetch(function () {
            var data = this.data();
        });
        return source;
    }

Ответы на вопрос(2)

Ваш ответ на вопрос