Привязка данных сетки KendoUI

Может ли кто-нибудь сказать мне, как связать сетку кендо на основе предыдущего выбора управления?

Пример: я разместил один раскрывающийся список и сетку на странице. Теперь я хотел заполнить данные в сетке на основе выбранного значения в раскрывающемся списке.

Может ли кто-нибудь помочь мне сделать это. Я работаю с MVC.


person jestges    schedule 03.04.2013    source источник


Ответы (2)


попробуй это :

    $("#dept").kendoComboBox({
                filter: "contains",
                index: 0,
                dataTextField: "Name",
                dataValueField: "ID",
                dataSource: data,
                select: onSelect

            });
 //Dropdown change event
    function onSelect(e) {
        var dataItem = this.dataItem(e.item.index());
        UpdateUPGridSource(dataItem.value);
    }
   //Refresh Datasource by Role wise
   function UpdateGridSource(DropdownValue) {
        var grd = $("#users").data("kendoGrid");
        //Set url property of the grid data source
        grd.dataSource.transport.options.read.url = '/Controller/JSONMethodName?ParameterName='+ RoleID;
        //Read data source to update
        grd.dataSource.read();
   }
person ravisolanki07    schedule 03.04.2013
comment
Привет, спасибо за ваш ответ .. Я пробовал так же, как вы сказали. Но после выполнения метода ... он показывает, хотите ли вы открыть или сохранить getdetails с локального хоста? вместе с кнопками «Открыть», «Сохранить» и «Отмена». Вместо привязки значений результата к grid. - person jestges; 03.04.2013
comment
function changeept() { var grd = $(#users).data(kendoGrid); var dropdownlist = $(#dept).data(kendoDropDownList); //Установить свойство url источника данных сетки grd.dataSource.transport.options.read.url = '/Home/GetUsersByDept?deptid=' + dropdownlist.value(); //Чтение источника данных для обновления grd.dataSource.read(); } public JsonResult GetUsersByDept(int deptid) { // здесь мой метод dbfetch return Json(emps, JsonRequestBehavior.AllowGet); } - person jestges; 03.04.2013
comment
Привет, я изменил свой ответ, так что попробуйте это. - person ravisolanki07; 03.04.2013
comment
разницы не увидел :( - person jestges; 03.04.2013

Возможно, вы можете сделать это следующим образом:

$("#dept").kendoComboBox({
            filter: "contains",
            suggest: true,
            index: 0,
            dataTextField: "Name",
            dataValueField: "ID",
            dataSource: data,
            change: function(e){
                   grid.data("kendoGrid").dataSource.filter({
                       field: "someField",
                       operator: "eq|etc.",
                       value: this.value()
                   });
            }
});

grid — это объект, который вы определили методом kendoGrid(). надеюсь, это поможет вам.

person 成 周    schedule 12.07.2013