Kendo UI Grid — MVC — циклическая коллекция объектов (модель представления) на ClientRowTemplate

Можно ли создать clientrowtemplate с моделью сущности, которая включает сложный тип списка для отображения некоторых полей? Я создал шаблон строки на стороне сервера, но когда я переключаю ajax на источник данных, он не работает. Думаю, это ожидаемо. Но как создать сложный шаблон для отображения коллекций с помощью ajax в качестве пользовательского шаблона строки в MVC?


person Halil Ibrahim    schedule 05.04.2013    source источник


Ответы (1)


Решено

Для чистого кода отделите делегата от любого другого блока кода. Обратите внимание на ToString() в конце кода, чтобы получить результат в виде строки, а не в виде HelperResult.

@{
    Func<Grid<MyModel>, string> clientRowTemplate = @<div class="order-info">
        <div class="order-info-items cell">
        # if (data.OrderItemList) { #
            # for (var i in data.OrderItemList) { #
                # if (data.OrderItemList[i].ID) { #
                    <img src="#= data.OrderItemList[i].ImageUrl #" alt="#= data.OrderItemList[i].ItemName #" width="100" height="100" />
                # } #
            # } #
        # } #
        </div>
    </div>.ToString();
}

Затем передайте его как параметр методу ClientRowTemplate:

@(Html.Kendo().Grid(Model)
    .Name("grd")
    .Columns(columns =>
    {
        /*columns*/
    })
    .DataSource(dataSource => dataSource
        .Ajax()
        .Read(read => read.Action("Orders_Read", "Home"))
    )
    .ClientRowTemplate(clientRowTemplate)

Надеюсь, поможет.

person Halil Ibrahim    schedule 05.04.2013
comment
Спасибо, это помогло мне сегодня. - person cobolstinks; 06.03.2014