【问题标题】:Telerik MVC Grid Popup Default ValuesTelerik MVC 网格弹出窗口默认值
【发布时间】:2018-02-12 13:34:50
【问题描述】:

我有一个带有自定义可编辑弹出模板的 Telerik MVC 网格

.Editable(editable => editable
    .Mode(GridEditMode.PopUp)
    .Window(w => w.Width(600))
    .TemplateName("Inspection")
 )

模板基于模型,包含两个下拉列表

    @(Html.Kendo().DropDownListFor(model => model.InspectionStatus)
    .BindTo(new List<SelectListItem>()
    {
        new SelectListItem() { Text = "Fail", Value = "0" },
        new SelectListItem() { Text = "Pass", Value = "1" }
    })
    )

    @(Html.Kendo().DropDownListFor(model => model.CloseoutStatusID)
    .DataValueField("LookUpID")
    .DataTextField("LookUpText")
    .DataSource(source => {
        source.Read(read => { read.Action("Get", "LookUp", new { LookUp = "CloseOutStatus" }); });
    })
    )

我需要为这两个字段设置默认值...目前无论我做了什么,它们都返回为 0。

到目前为止,我已经:

  • 尝试设置默认值属性
  • 在模型的构造函数中设置值
  • 将 .Value() 设置为默认值。

其他一切正常...我可以选择一个绑定项目,它会返回正确的值。我可以编辑现有项目,它会在模板中显示正确的数据。我可以保存已编辑的数据并返回正确的值。

任何可靠的文档将不胜感激。

【问题讨论】:

  • 尝试将.Name() 属性添加到两个下拉列表中。我相信名称需要与您使用它的模型属性相同。所以.Name("InspectionStatus").Name("CloseoutStatusID")
  • 由于我使用的是 DropDownListFor,它已经在使用名称进行渲染。我只是尝试将 name 属性添加到下拉列表中,它不会改变行为。

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


【解决方案1】:

在 Telerik 论坛上收到了答案。

工具栏中的 Telerik 网格创建操作使用数据源中的模型信息。

通过将字段添加到模型并在那里设置默认值,我能够获得所需的行为。

    .Model(model => {
        model.Id(Inspection => Inspection.DEPInspectionsID);
        model.Field(Inspection => Inspection.CloseoutStatusID).DefaultValue(2);
        model.Field(Inspection => Inspection.InspectionStatus).DefaultValue(1);
        })

【讨论】:

    猜你喜欢
    • 2017-10-30
    • 1970-01-01
    • 1970-01-01
    • 2013-04-28
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 2011-06-27
    • 1970-01-01
    相关资源
    最近更新 更多