Шаблон панели инструментов сетки пользовательского интерфейса Kendo Ошибка раскрывающегося списка

Ссылка1 Ссылка2

Я столкнулся с некоторыми другими проблемами до перехода к этому этапу, и они подробно описаны в ссылке Referencea, в любом случае основная проблема заключается в том, что после окончательного отображения раскрывающегося списка (Reference2) он, к сожалению, фактически не подключается к действию контроллера, которое должно заполнить его без очевидного ответа, почему.

Единственная ошибка, которая, кажется, указывает на что-либо: TypeError: r is undefined kendo.web.min.js Строка 13

Текущий код, который я использую для раскрывающегося списка: -

<script type="text/x-kendo-template" id="template">
    <div class="toolbar">
        <label class="category-label" for="external">Show patients by ex:</label>
        <input type="search" id="external" style="width: 230px"></input>
    </div>
</script>

var dropDown = grid.find("#external").kendoDropDownList({
            dataTextField: "ExName",
            dataValueField: "ExId",
            autoBind: false,
            optionLabel: "All",
            dataSource: {
                type: "json",
                severFiltering: true,
                transport: {
                    url: '@Url.Action("_Ex", "Entry")',
                    data: { ignore: Math.random() }
                }
            },
            change: function () {
                var value = this.value();
                if (value) {
                    grid.data("kendoGrid").dataSource.filter({ field: "ExId", operator: "eq", value: parseString(value) });
                } else {
                    grid.data("kendoGrid").dataSource.filter({});
                }
            }
        });



<style scoped="scoped">
    #grid .k-toolbar
    {
        min-height: 27px;
    }
    .external-label
    {
        vertical-align: middle;
        padding-right: .5em;
    }
    #external
    {
        vertical-align: middle;
    }
    .toolbar {
        float: right;
        margin-right: .8em;
    }
</style>

Я знаю, что действие контроллера работает, и дело не в том, что 1 он даже не вызывается, а 2 потому, что я использую его на другой странице, а в качестве основной сетки в иерархической сетке.

Как идеи или помощь вокруг этого будут высоко оценены.


person Myzifer    schedule 14.03.2013    source источник


Ответы (1)


Неверная транспортная конфигурация источника данных в поле со списком. Единственным допустимым значением свойства type является «odata», тогда как вы указываете «json». Если вы хотите указать, что транспорт источника данных возвращает json, вам необходимо настроить источник данных следующим образом:

  dataSource: {
      serverFiltering: true,
      transport: {                    
          read: {
              url: '@Url.Action("_Ex", "Entry")',
              dataType: 'json'
          }
      },
 }

Свойство dataType указывает, какой тип данных вы ожидаете от сервера.

Свойство url указывает URI для удаленных данных.

Полную документацию по API источника данных можно найти здесь.

person Matt B    schedule 14.03.2013
comment
до сих пор установка dataType как json дает ту же ошибку, но использование type: odata не показывает ошибки, но не работает, поскольку мое действие контроллера - это JsonResult. public JsonResult _Ex(int ​​skip, int take) {IEnumerable‹BMEx› bme = _bdb.BMEx.ToList(); Список‹ExDTO› exList = новый Список‹ExDTO›(); bme.ToList().ForEach(x => { exList.Add(new ExDTO(x)); }); return Json(new { Data = exList.OrderBy(x => x.ExName).Skip(skip).Take(take).AsEnumerable(), Count = exList.Count() }, JsonRequestBehavior.AllowGet); } - person Myzifer; 14.03.2013
comment
Я собираюсь попробовать создать действие, которое будет работать с odata, но я никогда раньше не использовал этот тип, поэтому буду признателен за любые предложения или советы. - person Myzifer; 14.03.2013
comment
Я не смог найти много полезной информации о создании действий odata, поэтому в конце концов отказался от использования встроенной перепривязки раскрывающегося списка кендо и создал свой собственный и привязал идентификатор формы страницы к событию чтения транспорта и событию изменения. Поскольку мой вопрос был только об ошибке, которая у меня была, и ваш ответ разрешил эту ошибку, я пометил ее как правильную. - person Myzifer; 18.03.2013