親グリッドのポップアップエディタで編集可能なグリッドを追加することは可能ですか?両方のグリッドは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