2016-10-04 9 views
0

Im пытается перейти от шаблона редактора, который использовался для отображения предварительно определенного списка элементов в выпадающем списке в строке сетки. Это работает, но мне нужен список, настроенный для разных сеток, поскольку данные не совпадают между различными областями моего приложения.Пример сетки с пользовательским выпадающим списком в ячейке - как он отображает выпадающий список?

Так что я смотрю на шаблоны клиентов и определяю свое собственное каким-то образом.

В этом примере я не уверен, где в представлении используется список категорий.
Это даже используется в этом примере? Как выпадающий список отображается в строке в результате наличия «вложенного» свойства, которое является списком?

http://demos.telerik.com/aspnet-mvc/grid/editing-custom

private void PopulateCategories() 
{ 
    var dataContext = new SampleEntities(); 
    var categories = dataContext.Categories 
       .Select(c => new CategoryViewModel { 
        CategoryID = c.CategoryID, 
        CategoryName = c.CategoryName 
       }) 
       .OrderBy(e => e.CategoryName); 

    ViewData["categories"] = categories; 
    ViewData["defaultCategory"] = categories.First();    
} 

Его эта линия, что Im интересно о:
ViewData [ "категории"] = категории;

Почему это необходимо и что его использует? Я не вижу его использования ни в контроллере, ни в представлении - если действие чтения не использует это по умолчанию или какое-то соглашение?

ответ

1

ViewData["categories"] используется в шаблоне редактора. Этот файл не отображается на демо-сайте, но вы можете увидеть его в автономном режиме демо, которые вы должны иметь с установщиком:

/Views/grid/EditorTemplates/ClientCategory.cshtml

Здесь это содержание:

@model Kendo.Mvc.Examples.Models.CategoryViewModel 

@(Html.Kendo().DropDownListFor(m => m) 
    .DataValueField("CategoryID") 
    .DataTextField("CategoryName") 
    .BindTo((System.Collections.IEnumerable)ViewData["categories"]) 
) 

Более подробная информация по адресу:

http://docs.telerik.com/kendo-ui/aspnet-mvc/helpers/grid/templating/editor-templates

+2

Вы также можете использовать функцию столбца «Внешний ключ» Grid, если вы не хотите создавать EditorTemplate: http://demos.telerik.com/aspnet-mvc/grid/foreignkeycolumn. –

 Смежные вопросы

  • Нет связанных вопросов^_^