asp.net-mvc - Kendo UI 网格一次仅展开一行

标签 asp.net-mvc kendo-ui kendo-grid

我有一个 Kendo 网格,我希望一次只能展开一行以进行详细编辑。最简单的方法是什么?

@(Html.Kendo().Grid<MyModel>()
   .Name("MyGrid")
   .ClientDetailTemplateId("MyTemplate")
   .Columns(columns =>
   {
       columns.Bound(b => b.Code);
       columns.Bound(b => b.Name);
       columns.Bound(b => b.Description);
       ...
       columns.Command(cmd => { cmd.Edit(); cmd.Destroy(); });
   })
   .ToolBar(toolbar => toolbar.Create())
   .Editable(editable => editable.Mode(GridEditMode.InLine))
   .DataSource(dataSource => dataSource
      .Ajax()
      .Model(model => model.Id(a => a.Id))
      .Create(create => create.Action("Create", "SysMaint", new { id = Model.ProjectId }))
      .Read(read => read.Action("Read", "SysMaint", new { projectId = Model.ProjectId }))
      .Update(update => update.Action("Update", "SysMaint"))
      .Destroy(destroy => destroy.Action("Destroy", "SysMaint"))
   )
)

<script id="MyTemplate" type="text/kendo-tmpl">
    @(Html.Kendo().TabStrip()
       .Name("TabStrip_#=Id#")
       .SelectedIndex(0)
       .Items(items =>
           {
               items.Add().Text("A").LoadContentFrom("MyPartialA", "SysMaint", new { id = "#=Id#" });
               items.Add().Text("B").LoadContentFrom("MyPartialB", "SysMaint", new { id = "#=Id#" });
           })
       .ToClientTemplate()
    )
</script>

最佳答案

结果这真的很简单。只需添加这几行即可。

      ...
      .Update(update => update.Action("Update", "SysMaint"))
      .Destroy(destroy => destroy.Action("Destroy", "SysMaint"))
   )
   .Events(events => events.DetailExpand("detailExpand"))
)

<script type="text/javascript">
    var expandedRow;
    function detailExpand(e) {
        // Only one open at a time
        if (expandedRow != null && expandedRow[0] != e.masterRow[0]) {
            var grid = $('#MyGrid').data('kendoGrid');
            grid.collapseRow(expandedRow);
        }
        expandedRow = e.masterRow;
    }
</script>

我希望这对某人有帮助。

关于asp.net-mvc - Kendo UI 网格一次仅展开一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14845718/

相关文章:

javascript - ajax post 无法在 mvc 中的新页面上工作

asp.net-mvc - 如何使用 Microsoft.AspNetCore.Authentication.Google 强制 HTTPS 回调?

asp.net-mvc - 添加没有模型的 View MVC 5

c# - 默认 ASP.NET MVC 上的 https

angular - 当 child 从远程获取时如何动态添加或删除节点

angularjs - KendoUI 网格 + AngularJS : Adding column template

asp.net-mvc-4 - Kendo ui - 如何将验证与 mvc 模型属性联系起来

javascript - kendo ui中如何取消选中网格记录

c# - 如何在 Kendo Grid MVC 中设置列​​宽以自动调整

javascript - jquery kendo 网格过滤器属性未定义