Kendo UI网格模板列

时间:2014-06-22 04:49:14

标签: c# jquery asp.net-mvc kendo-ui kendo-grid

我的页面中有这个网格,效果很好:

    @(Html.Kendo().Grid<SalaryAdmin.Classes.ReturnedCompareHoghough>()
    .Name("Grid")
    .EnableCustomBinding(true)
    .BindTo(Model.Comparehoghough)
    .Columns(columns => {
        columns.Template(@<text><input type="text" name="@item.MelliCode" class="sel" /></text>).Width(50);

        columns.Bound(o => o.MomayezFinalTax).Format("{0:n0}").Title("مالیات قابل پرداخت پس از اعمال معافیت موضوع ماده 92 (ویژه مناطق کمتر توسعه یافته) نظر ممیز");
        columns.Bound(o => o.FinalTax).Format("{0:n0}").Title("مالیات قابل پرداخت پس از اعمال معافیت موضوع ماده 92 (ویژه مناطق کمتر توسعه یافته)");

    })
    .Pageable()
    .Navigatable()        
    .DataSource(dataSource => dataSource.Server().Total((int)ViewData["totalMoadi"]))
)

我用这个版本替换了这个网格:

   @(Html.Kendo().Grid<SalaryAdmin.Classes.ReturnedCompareHoghough>()
                    .Name("Grid").EnableCustomBinding(true).BindTo(Model.Comparehoghough)

    .Columns(columns =>
    {
        columns.Template(@<text><input type="text" name="@item.MelliCode" class="sel" /></text>).Width(50);

        columns.Bound(o => o.MomayezFinalTax).Format("{0:n0}").Title("مالیات قابل پرداخت پس از اعمال معافیت موضوع ماده 92 (ویژه مناطق کمتر توسعه یافته) نظر ممیز").Width(200).ClientFooterTemplate("#=sum#");
        columns.Bound(o => o.FinalTax).Format("{0:n0}").Title("مالیات قابل پرداخت پس از اعمال معافیت موضوع ماده 92 (ویژه مناطق کمتر توسعه یافته)").Width(200).ClientFooterTemplate("#=sum#");
    })
    .Pageable()
   .Scrollable(scr => scr.Height(420))
                     .DataSource(dataSource => dataSource.Ajax().Aggregates(
                         ag =>
                         {
                             ag.Add(h => h.MomayezFinalTax).Sum();
                             ag.Add(h => h.FinalTax).Sum();
                         }
                         ).Read(read => read.Action("ChangeHoghough_Read", "list", new { id = Model.list.GuidList })))
)

除了不显示文本框外,它也很有用。是否可以在seond版本中显示文字?如果是,我怎样才能在回发中输入值?我试图进入分页事件但在分页事件中发布了一个linq代码。

2 个答案:

答案 0 :(得分:2)

我假设不同网格的目的是从服务器绑定转移到Ajax绑定。 不显示文本框,因为您使用的是服务器模板而不是客户端模板。请尝试以下列:

columns.ClientTemplate("#: <input type='text' name='MelliCode' class='sel' /> #")...

语法略有不同,这里是overview。 我不确定,但BindTo参数可能意味着您在初始加载时获取数据两次。

答案 1 :(得分:0)

你想要这样的东西。

columns.Template(c => "<input type='text' name='AdminEmail' value='"+  c.Email +"'> ").Title("").Width(140).HtmlAttributes(new { style = "text-align:center; white-space: nowrap; text-decoration: underline;" }).HeaderHtmlAttributes(new { style = "text-align:center; white-space: nowrap;" });