【问题标题】:Editable Grid in a Grid's popup editor网格弹出编辑器中的可编辑网格
【发布时间】:2012-11-15 16:36:05
【问题描述】:

是否可以在父网格的弹出式编辑器中添加可编辑网格?两个网格都是 Ajax 绑定。

父网格视图:

@(Html.Kendo().Grid<MyProject.Business.Models.ParentDTO>().Name("ParentGrid")
.Columns(cols => cols.Command(o => o.Edit() ).Title(" "))
.Editable(editor => editor.Mode(GridEditMode.PopUp))
.Events(events=>events.Edit("onEditOfParentGrid"))
.DataSource(datasource => datasource
    .Ajax()
    .Model(model => model.Id(o => o.id))
    .Read(read => read.Action("GetAll", "ParentAjax"))
    .Update(update => update.Action("Update", "ParentAjax"))
    .Create(create => create.Action("Create", "ParentAjax"))
    .Destroy(destroy => destroy.Action("Destroy", "ParentAjax"))
    )
)
<script type="text/javascript">
    function onEditOfParentGrid(e) {
        $('#ChildGrid').data().kendoGrid.dataSource.read({ id: e.model.id })
    }
</script>

子网格视图(父级默认的 EditorTemplate):

@model MyProject.Business.Models.ParentDTO
@(Html.Kendo().Grid<MyProject.Business.Models.ChildDTO>().Name("ChildGrid")
.AutoBind(false)
.Editable(edit=>edit.Mode(GridEditMode.InCell))
.DataSource(datasource => datasource
    .Ajax()
    .Model(model =>model.Id(o => o.id))
    .Read(read => read.Action("GetByParentId", "ChildAjax"))
    .Update(update => update.Action("Update", "ChildAjax"))
    .Create(create => create.Action("Create", "ChildAjax"))
    .Destroy(destroy => destroy.Action("Destroy", "ChildAjax"))))

这样做会使弹出编辑器内联显示并编写一些javascript(作为文本)来搞砸。子网格也会丢失数据。如果子网格没有编辑器(也就是只读),一切正常,显示数据。

控制台中有一个 jQuery 错误,但它(至少对我而言)并没有说明什么

Uncaught SyntaxError: Unexpected token ILLEGAL jquery-1.8.2.js:564
  (anonymous function) jquery-1.8.2.js:564
  jQuery.extend.globalEval jquery-1.8.2.js:565
  (anonymous function) jquery-1.8.2.js:6006
  jQuery.extend.each jquery-1.8.2.js:611
  jQuery.fn.extend.domManip jquery-1.8.2.js:5991
  jQuery.fn.extend.append jquery-1.8.2.js:5764
  jQuery.fn.(anonymous function) jquery-1.8.2.js:6186
  h.extend._createPopupEditor kendo.all.min.js:8
  h.extend.editRow kendo.all.min.js:8
  (anonymous function) kendo.all.min.js:8
  jQuery.event.dispatch jquery-1.8.2.js:3063
  elemData.handle.eventHandle jquery-1.8.2.js:2681

【问题讨论】:

    标签: asp.net-mvc kendo-ui


    【解决方案1】:

    在嵌套小部件方面,KendoUI 还不完善。另一种方法是扩展一行(行详细信息)并在那里启动子网格。大概这是多对一的关系?如果您有多个关系,请为每个网格制作一个标签条。

    【讨论】:

      猜你喜欢
      • 2023-04-05
      • 1970-01-01
      • 2012-03-29
      • 1970-01-01
      • 2013-02-27
      • 2013-07-06
      • 1970-01-01
      • 2012-10-21
      • 1970-01-01
      相关资源
      最近更新 更多