子グリッド レコードが更新されたときに親グリッドを更新したいのですが、可能ですか? もしそうなら、誰かがそれについてアドバイスを提供できますか?
まず、子グリッドで使用するのに最適なイベントがわかりません。子グリッドの CRUD アクションを起動してから、できれば Ajax を使用して、親のコンテンツを再度読み込みます。
以下は私のグリッドです。
@{
ViewBag.Title = "Bills: Parent/Child";
}
<h2>Bills Index</h2>
@(Html.Kendo().Grid<BillParent>()
.Name("BillParentsGrid")
.Columns(columns =>
{
columns.Bound(h => h.Category);
columns.Bound(h => h.Description);
columns.Bound(h => h.Amount);
columns.Command(command =>
{
command.Edit();
}).Width(95);
})
.DataSource(dataSource => dataSource
.Ajax()
.Model(model =>
{
model.Id(h => h.BillId);
model.Field(h => h.BillId).Editable(false);
})
.Events(events => events.Error("error_handler"))
.Read(read => read.Action("BillParents_Read", "Bill"))
.Update(update => update.Action("BillParent_Update", "Bill"))
)
.Events(events => events.DataBound("dataBound"))
.ClientDetailTemplateId("BillChildren")
)
<script id="BillChildren" type="text/kendo-tmpl">
@(Html.Kendo().Grid<BillChild>()
.Name("BillChildren_#=BillId#")
.Columns(columns =>
{
columns.Bound(d => d.BillId).Width(50);
columns.Bound(d => d.Description).Width(150);
columns.Bound(d => d.Amount).Width(80);
columns.Command(command =>
{
command.Edit();
command.Destroy();
}).Width(55);
})
.DataSource(dataSource => dataSource
.Ajax()
.Model(model =>
{
model.Id(d => d.BillId);
model.Field(d => d.BillId).Editable(false);
})
.Events(events => events.Error("error_handler"))
.Read(read => read.Action("BillChildren_Read", "Bill", new { id = "#=BillId#" }))
.Update(update => update.Action("BillChild_Update", "Bill"))
.Create(create => create.Action("BillChild_Create", "Bill", new { id = "#=BillId#" }))
.Destroy(destroy => destroy.Action("BillChild_Destroy", "Bill")))
.ToolBar(tools => tools.Create())
.ToClientTemplate()
)
</script>
どうもありがとう。