【问题标题】:Telerik grid shows an empty column after delete commandTelerik 网格在删除命令后显示一个空列
【发布时间】:2012-07-31 20:47:33
【问题描述】:

我正在使用带有 AJAX 绑定的 Telerik MVC Extensions Grid 控件,并运行删除命令。删除按预期工作,并且网格会更新,因此它不会显示已删除的行。

但是,删除其中一个网格列(第一个)后显示为空。第二列也有区别 - 'false'而不是未选中的框。 任何想法为什么,以及如何解决这个问题?

我可以刷新屏幕,从而修复视图。但这是一个沉重的页面,我宁愿不进行第二次刷新。

删除后,第一列显示为空:

我的网格:

Html.Telerik()
    .Grid(Model)
    .Name("scenarioGrid")
    .DataBinding(dataBinding => dataBinding.Ajax()
                                    .Delete("Delete", "Scenario"))
    .DataKeys(keys => keys.Add(c => c.Id))
    .Columns(columns =>
        {
            columns.Template(o => Html.ActionLink(o.Name, "Index", new {id = o.Name})).Title("Scenario")
                .FooterTemplate(@<text>Total @Model.Count() </text>);
            columns.Bound(o => o.IsLocked);
            columns.Bound(o => o.ContractMonth);
            columns.Bound(o => o.CreateDate);
            columns.Command(commands => commands.Delete().ButtonType(GridButtonType.Image)).Title("Delete");
        }
    )
    .Sortable()
    .Scrollable(scroll => scroll.Height(200))
    .ClientEvents(events => events.OnDelete("onDelete").OnComplete("afterDelete"))

【问题讨论】:

    标签: ajax asp.net-mvc-3 asp.net-ajax telerik


    【解决方案1】:

    您不应将columns.Template 与Ajax 绑定一起使用。它适用于服务器端绑定网格。你应该使用

    columns.Bound(o => 0.whatever).ClientTemplate("convert your link to a string here");
    

    【讨论】:

    • 你能帮忙看看客户端模板的语法吗?
    • @jprusakova 我相信这里有人可以。只需添加一个您遇到问题的问题。很有可能,它会为您解决:)
    【解决方案2】:

    看起来您正在使用服务器绑定来加载网格,但使用 ajax 绑定来更新它。 columns.Template 用于服务器绑定。您应该使用 ClientTemplate 进行 ajax 绑定。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-13
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-23
      • 1970-01-01
      相关资源
      最近更新 更多