Как использовать любое условие if с помощью clientTemplate в дочерней сетке Grid Kendo UI? - PullRequest
0 голосов
/ 10 сентября 2018

Я реализовывал некоторое " if условие " в дочерней сетке иерархии сетки пользовательского интерфейса kendo, используя clientTemplate. Когда я использовал условие if в мастер-сетка с использованием clientTemplate, тогда он отлично работает для меня. Но когда я использую тот же код в дочерней сетке иерархии сетки пользовательского интерфейса кендо, отображается «Неверный шаблон» Ссылка ссылка https://demos.telerik.com/kendo-ui/grid/hierarchy

 @(Html.Kendo().Grid(Model.OrderList)
                                            .Name("Grid")
                                            .Columns(columns =>
                                            {
                                                columns.Bound(p => p.OrderID).Width("50px").Sortable(false).Filterable(false).Title("<input type='checkbox' id='chkSelectAll' onchange='SelectAll();'/>").ClientTemplate("<input type='checkbox' id='orderselect_#=OrderID#' class='orderselect' value='#=OrderID#' onchange='chkOrUnchk(this)'/>");

                                            })
                                            .Resizable(r => r.Columns(true))
                                            //.Reorderable(r => r.Columns(true))
                                            .Selectable(selectable => selectable.Mode(GridSelectionMode.Multiple).Enabled(true))
                                            .Events(events => events.Change("Grid_OnRowSelect").DataBound("OrderGrid_OnDataBound").ColumnReorder("Grid_OnColumnReorder"))
                                            .Pageable(settings => settings.PageSizes(new int[] { 25, 50, 100, 500 }))
                                            .Sortable()
                                            .Scrollable(s => s.Virtual(false).Height("600px"))
                                            .Filterable()
                                            .ClientDetailTemplateId("childOrders")
                                            .DataSource(dataSource => dataSource
                                                        //.Server().Model(model => model.Id(p => p.OrderID))
                                                        .Ajax()
                                                        .PageSize(Model.DefaultOrderPageSize)
                                                        .Read(read => read.Action("ManageOrderLoadForGridAjax", "Order").Data("OrderSearchParameter"))
                                            )
                                        )

                                        <script id="childOrders" type="text/kendo-tmpl">
                                            @(Html.Kendo().Grid(new List<SMOrderNew>())
                                                .Name("grid_#=OrderID#") // template expression, to be evaluated in the master context
                                                .Columns(columns =>
                                                {
                                                    // *i want child order number but return parent order number using client template*
                                                    columns.Bound(p => p.OrderNumber).Groupable(false).Width("200px").Title("Order #").ClientTemplate("<a #if(DisplayDistribution){# class='OrderHover'#}# data-id='#= OrderID #' href='javascript:void(0);' style='float:left;' onclick='OpenOrderDetailsPopup(\"#= OrderID #\", 0);'> #=OrderNumber# </a>");
                                                    columns.Bound(p => p.BuyerUserID).Width("200px").Title("Buyer User ID").HtmlAttributes(new { style = "white-space: nowrap;" });
                                                })
                                                .Events(events => events.Change("Grid_OnRowSelect").DataBound("OrderGrid_OnDataBound").ColumnReorder("Grid_OnColumnReorder"))
                                                .DataSource(dataSource => dataSource
                                                    .Ajax()
                                                    .PageSize(100)
                                                    .Read(read => read.Action("ManageChildOrderLoadForGridAjax", "Order", new { OrderId = "#=OrderID#" }))
                                                )
                                                .Pageable()
                                                .Sortable()
                                                .ToClientTemplate()
                                            )
                                        </script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...