kendo grid外键上添加

时间:2013-01-22 15:53:20

标签: foreign-keys kendo-grid

我可以在Kendo Grid中使用外键列。使用内联编辑方法,“编辑”操作正常工作。

但是,在添加新记录时,每件事都可以正常显示。外键列允许我选择值。但是单击“更新”按钮,外键列值为空,随后无法更新数据库。

任何建议如何解决此问题。

1 个答案:

答案 0 :(得分:0)

我有同样的问题,Kendo UI尚未解决问题(2014年8月15日)。 我决定在网格上添加一个客户端事件:

@(Html.Kendo().Grid<SPDProject.Models.DTO.ProyectoDTO>()
.Name("GridProyectos")
.Columns(columns =>
{
    columns.Bound(r => r.Id).Visible(false);
    columns.Bound(r => r.Nombre).Width(150);
    columns.Bound(r => r.Alias).Width(150);
    columns.ForeignKey(r => r.IdCliente, (System.Collections.IEnumerable)ViewData["IdCliente_Data"], "Value", "Text");
    columns.ForeignKey(r => r.IdTipoProyecto, (System.Collections.IEnumerable)ViewData["IdTipoProyecto_Data"], "Value", "Text");
    columns.Command(command => { command.Edit(); command.Destroy(); }).Width(172);
})
.DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(10)
        .Events(events => events.Error("error_handler"))
        .Create(create => create.Action("CreateProyecto", "Admin"))
        .Destroy(destroy => destroy.Action("DestroyProyecto", "Admin"))
        .Model(model => model.Id(r => r.Id))
        .Read(read => read.Action("ReadProyecto", "Admin"))
        .Update(update => update.Action("UpdateProyecto", "Admin")))
.Editable(editable => editable.Mode(GridEditMode.InLine))
.Pageable(pageable => pageable.Refresh(true))
.Reorderable(reorderable => reorderable.Columns(true))
.Events(events => events.Save("onSave"))
.Resizable(resizable => resizable.Columns(true))
.Scrollable(scrollable => scrollable.Height(250))
.Selectable(selectable => selectable.Mode(GridSelectionMode.Multiple).Type(GridSelectionType.Row))
.Sortable(sortable => sortable.AllowUnsort(true).SortMode(GridSortMode.MultipleColumn))
.ToolBar(toolBar => toolBar.Create()))



<script type="text/javascript">
function onSave(e) {
    //set the value to the model
    e.model.set('IdCliente', $('#IdCliente').val());
    e.model.set('IdTipoProyecto', $('#IdTipoProyecto').val());
}

我希望这有助于某人。

此致

DreamSys的Mauro