【问题标题】:Kendo MVC Grid depended dropDownListKendo MVC Grid 依赖 dropDownList
【发布时间】:2015-10-14 07:05:35
【问题描述】:

我有剑道网格,我需要在两个单元格中内联编辑两个 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 操作。 感谢您的帮助!

【问题讨论】:

  • 您好,我的回答对您的问题有帮助吗?如果是,您能否将我的回复标记为答案?这样,使用 Google 找到问题的人可以更加确信答案是正确的。提前致谢。

标签: asp.net-mvc kendo-ui kendo-grid kendo-asp.net-mvc


【解决方案1】:

要向服务器发送空值,模型中的相应字段(操作)应该是可空类型。此外,DropDownList 应该定义 OptionLabel 并且(如果它是原始类型)ValuePrimitive 选项设置为 true

【讨论】:

    猜你喜欢
    • 2013-09-17
    • 1970-01-01
    • 1970-01-01
    • 2015-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多