我有kendo网格,我需要在两个单元格中内联编辑两个dropDownLists。第二个列表取决于第一个。第二个可以有0或X项。当为0秒时,如何在保存项目时向服务器发送空值?
网格看起来像这样:
columns.Bound(work => work.Project).ClientTemplate("#=Project.Name#").Width(350); // 1 DropDownList
columns.Bound(work => work.Spp).ClientTemplate("#=Spp.Code#").Width(100);
columns.Bound(work => work.Operation).ClientTemplate("#=Operation.Code#").Width(100);// 2 DropDownList
.DataSource(dataSource => dataSource
.Ajax()
.Batch(false)
.Events(events => events.RequestEnd("OnRequestEnd_TopLinePriceGrid"))
.PageSize(20)
//.Events(events => events.Error("error_handler"))
.Model(model =>
{
model.Id(p => p.Id);
model.Field(p => p.Operation).DefaultValue(ViewData["defaultOperation"] as TT.ViewModel.OperationViewModel);
model.Field(p => p.Spp).DefaultValue(ViewData["defaultSpp"] as TT.ViewModel.SppViewModel);
model.Field(p => p.Project).DefaultValue(ViewData["defaultProject"] as TT.ViewModel.ProjectViewModel);
})
.Read(read => read.Action("WorkRead", "Home").Data("currentWeekInfo")) // Přidádo HTTP parametr s vybranným týdnem
.Create(update => update.Action("EditingInline_Create", "Home").Data("currentWeekInfo"))
.Update(update => update.Action("EditingInline_Update", "Home").Data("currentWeekInfo"))
.Destroy(update => update.Action("EditingInline_Destroy", "Home").Data("currentWeekInfo"))
)
操作的编辑器模板:
@(Html.Kendo().DropDownList()
.Name("Operation")
.OptionLabel("Choose operation...")
.CascadeFrom("Project")
.DataValueField("Id")
.DataTextField("Code")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetCascadeOperations", "Home")
.Data("filterOperations");
}).ServerFiltering(true); ;
})
.Enable(false)
.AutoBind(false)
)
当我点击保存时,我总是在请求中默认值为fot操作。 渴望得到任何帮助!
答案 0 :(得分:0)
要向服务器发送空值,模型中的相应字段(操作)应为可空类型。此外,DropDownList应定义OptionLabel,并且(如果它的原始类型)ValuePrimitive选项设置为 true 。