gpt4 book ai didi

asp.net-mvc - Grid into Grid Popup Editor - 在子网格中传递 ID 参数

转载 作者:行者123 更新时间:2023-12-02 00:15:33 24 4
gpt4 key购买 nike

我有一个包含员工的网格。有一个编辑按钮,编辑模式设置为弹出。在我要编辑的实体的 EditorTemplate 中,还有另一个网格,其中包含带有 incell 或内联编辑模式的 Salary 历史记录。

两个网格都使用 Ajax 数据源。问题在于内部网格绑定(bind)。向 ajax 调用提供 Json 结果的 Controller 操作需要我们正在编辑的员工的 ID,以返回适当的薪水历史记录。但是,Kendo UI ASP.NET MVC 包装器会在知道我们要编辑哪个员工之前呈现某种编辑器模板,然后在我们请求弹出窗口时对其进行编辑。

如何在 Read Ajax 调用中提供员工 ID?

主网格

@(Html.Kendo().Grid<MyProject.Business.Models.EmployeDTO>().Name("EmployeGrid")
.ToolBar(toolbar => toolbar.Create())
.Columns(cols =>
{
cols.Bound(o => o.someData).Title("Some Data");
cols.Bound(o => o.moreData).Title("More Data");
cols.Command(o =>
{
o.Edit();
o.Destroy();
}).Title("&nbsp;");
})
.Editable(editor => editor
.Mode(GridEditMode.PopUp)
.Window(window => window.Draggable().Resizable().HtmlAttributes(new { @style = "width:700px;" })))
.Sortable()
.Filterable()
.Groupable()
.DataSource(datasource => datasource
.Ajax()
.Model(model => model.Id(o => o.id))
.Read(read => read.Action("GetAll", "EmployesAjax"))
.Update(update => update.Action("Update", "EmployesAjax"))
.Create(create => create.Action("Create", "EmployesAjax"))
.Destroy(destroy => destroy.Action("Destroy", "EmployesAjax"))
)
)

内部网格(在 Views/Shared/EditorTemplates/EmployeDTO.cshtml 中)

@Html.Kendo().Grid<MyProject.Business.Models.SalairyDTO>().Name("SalaryGrid")
.Columns(cols =>
{
cols.Bound(o => o.someInfo).Title("Some Info");
})
.DataSource(datasource => datasource
.Ajax()
.Model(model =>
{
model.Id(o => o.id);
model.Field(o => o.employe_id).DefaultValue(Model.id);
})

// NEED THE ID HERE
.Read(read => read.Action("GetByEmployeId", "SalairyAjax", new { id = "" }))

.Update(update => update.Action("Update", "SalairyAjax"))
.Create(create => create.Action("Create", "SalairyAjax"))
.Destroy(destroy => destroy.Action("Destroy", "SalairyAjax"))));

最佳答案

基本上我会建议您将内部网格的 AutoBind 选项设置为 false 并使用外部网格的编辑事件来执行读取请求并将值作为附加参数传递。

这是一个例子:

function onEditOfEmployeGrid(e){
$('#SalaryGrid').data().kendoGrid.dataSource.read({id:e.model.EmployeeID})
}

关于asp.net-mvc - Grid into Grid Popup Editor - 在子网格中传递 ID 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13384901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com