我有一个KendoUI网格,其中包含另一个网格作为childtemplate
在内部网格中我有一个创建按钮,当我保存时,我将检索从主网格传递给父网格的值...我不知道如何传递它...
这是我的代码
@(Html.Kendo().Grid<xxx.Lib.Models.Richiesta.Richiesta>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(p => p.GUID).Hidden();
columns.Bound(p => p.UTENTE).Title("Utente").Width(100);
columns.Bound(p => p.ORA_ESECUZIONE).Title("Ora Esecuzione").ClientTemplate("#= moment(ORA_ESECUZIONE).format('DD/MM/YYYY hh:mm:ss') #");
columns.Bound(p => p.STATO).Title("Stato");
columns.Bound(p => p.NOTE).Title("Note");
columns.Bound(p => p.ID_FREQUENZA).Title("Frequenza").ClientTemplate("#=FREQUENZA#").EditorTemplateName("Frequenza");
columns.Bound(p => p.ID_TIPO_RICHIESTA).Title("Tipo Richiesta").ClientTemplate("#=TIPO_RICHIESTA#").EditorTemplateName("TipoRichiesta");
columns.Bound(p => p.SORGENTE).Title("Sorgente");
columns.Bound(p => p.ORA_INSERIMENTO).Title("Ora Inserimento").ClientTemplate("#= moment(ORA_ESECUZIONE).format('DD/MM/YYYY hh:mm:ss') #");
columns.Command(command =>
{
command.Edit().Text(" ").UpdateText(" ").CancelText(" ");
// command.Destroy().Text(" ");
}).Width(172).Title("");
})
.DataSource(dataSource => dataSource
.Ajax()
.Events(events => events.Error("error_handler"))
.Model(model =>
{
model.Id(p => p.GUID);
}
)
.Create(create => create.Action("EditingInlineCreate", "Richieste"))
.Update(update => update.Action("EditingInlineUpdate", "Richieste"))
// .Destroy(destroy => destroy.Action("EditingInlineDestroy", "Richieste"))
)
.Pageable(pager => pager.Refresh(true))
.Events(events => events.DataBound("dataBound"))
.Sortable()
.Filterable()
.Editable(edt =>
edt.ConfirmDelete("Confermare cancellazione?").Mode(GridEditMode.InLine)
)
.AutoBind(false)
.Scrollable(scr => scr.Height(400))
.Resizable(resize => resize.Columns(true))
.ClientDetailTemplateId("template")
.ToolBar(toolbar =>
{
toolbar.Create().Text("Nuova richiesta");
//toolbar.Template("Da " + Html.Kendo().DatePickerFor(x => x.DateFrom).ToHtmlString() +
// " a " + Html.Kendo().DatePickerFor(x => x.DateTo).ToHtmlString() + Html.Kendo().Button().Content("Ricerca").Name("btn").Events
// (events =>
// {
// events.Click("LoadData");
// }).ToHtmlString() +
// "<a class='k-button k-button-icontext k-grid-add' href='#' '>Nuova richiesta</a>");
//
//).ToHtmlString() +
//"<a href=\"/Richieste?grid-mode=insert\" class=\"k-button k-button-icontext k-grid-add\"><span class=\"k-icon k-add\"></span>Aggiungi nuovo elemento</a>"
}
)
//onlick='customCommand()
)
@helper GridStrumenti()
{
@(Html.Kendo().Grid<xxx.Lib.Models.Richiesta.StrumentoRichiesta>()
.Name("grid_instruments_#=GUID#")
.Columns(columns =>
{
columns.Bound(o => o.STRUMENTO).Title("Strumento");
columns.Command(commands =>
{
commands.Edit().Text("").CancelText("").UpdateText("");
});
})
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(5)
.Read(read => read.Action("LoadInstrumentDetail", "Richieste", new { guid = "#=GUID#" }))
.Model(model =>
{
model.Id(p => p.STRUMENTO);
})
.Create(create => create.Action("CreateNuovoStrumento", "Richieste"))
.Update(update => update.Action("EditingInlineUpdate", "Richieste"))
)
.Pageable()
.Sortable()
.ToolBar(toolbar =>
{
toolbar.Create().Text("Inserisci nuovo strumento");
})
.ToClientTemplate()
)
}
动作CreateNuovoStrumento应该有一个Guid,即#= GUID#...如何通过? 感谢
答案 0 :(得分:0)
您将无法将父网格ID直接传递给Child New对象,但我已经使用了一些工作,希望它对您也有所帮助。
步骤1:将Edit事件添加到子网格&gt;
.Events(evnt => evnt.Edit("EditNew"))
步骤2:通过 EditNew JS 将父ID添加到新创建的子模型中,如下所示 - &gt;
function EditNew(e) {
if (e.model.STRUMENTO == 0) {
e.model.set("GUID", e.sender._cellId.substring(10,e.sender._cellId.indexOf("_active")));
}
}
如果上述代码中有任何错误,请与我们联系。