在telerik网格中使用复选框

时间:2013-05-13 06:21:42

标签: telerik telerik-grid telerik-mvc

我在Telerik Grid中使用复选框。 以下是我的代码

@(Html.Telerik().Grid<ProductModel>(Model.Products.Data)
                    .Name("products-grid")
                    .Columns(columns =>
                    {
                        columns.Bound(x => x.Id)
                        .ClientTemplate("<input type='checkbox' name='checkedRecords' value='<#= Id #>' />")
                        .Title("")
                        .Width(36)
                        .HtmlAttributes(new { style = "text-align:center" });

                        columns.Bound(x => x.Id);
                        columns.Bound(x => x.Name);
                        columns.Bound(x => x.Published)
                            .Width(100)
                            .Template(x => x.Published.ToString().ToLower())
                            .Centered();

                    })
                    .Pageable(settings => settings.Total(Model.Products.Total).PageSize(gridPageSize).Position(GridPagerPosition.Both))
                    .DataBinding(dataBinding => dataBinding.Ajax().Select("ProductReport", "Product"))
                    .ClientEvents(events => events.OnDataBinding("onDataBinding"))
                    .EnableCustomBinding(true)
                    )

我只是在复选框列中看到了ID而不是复选框。谁能告诉我我的代码有什么问题?

我检查了这个question以及其他一些但是他们回答了我的问题..

1 个答案:

答案 0 :(得分:0)

问题在于您的代码定义,您只是在ajax调用模式下定义模板(使用clientTemplate方法):

.ClientTemplate("<input type='checkbox' name='checkedRecords' value='<#= Id #>' />")

但是你也应该定义服务器端模板,这个模板用于你的第一个直接请求:

.Template(@<text><input type='checkbox' name='checkedRecords' value='@Item.Id' /></text>)