剣道グリッドで外部キー列を使用できます。インライン編集方法を使用すると、「編集」アクションは正常に機能します。
ただし、新しいレコードを追加すると、すべてが正常に表示されます。外部キー列により、値を選択できます。しかし、更新ボタンをクリックすると、外部キー列の値が null になり、その後、私の場合はデータベースを更新できません。
これを解決する方法をアドバイスしてください。
剣道グリッドで外部キー列を使用できます。インライン編集方法を使用すると、「編集」アクションは正常に機能します。
ただし、新しいレコードを追加すると、すべてが正常に表示されます。外部キー列により、値を選択できます。しかし、更新ボタンをクリックすると、外部キー列の値が null になり、その後、私の場合はデータベースを更新できません。
これを解決する方法をアドバイスしてください。
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のマウロ