剑道UI MVC电网editortemplate问题(kendo ui mvc grid edito

2019-08-17 01:45发布

我所试图做的事:

  1. 我有一个表格与剑道UI控件像页面上半年的DatePicker(S),下拉列表(S),NumericTextBox(S)

  2. 下半场有一个剑道UI MVC网格控制

    • 此剑道UI网格控制具有8个列,其中两列具有剑道下拉列表(EditorTemplate)和CheckBox(EditorTemplate)。
    • 剑道UI网格控制阿贾克斯结合。
  3. 当点击保存按钮,从剑道UI的所有值控制(前半部分)和剑道UI电网控制(后半)一起被发布为经由“Ajax的邮报” JSON对象到控制器。

  4. 我使用的模型上述过程结合

问题还是我面临的问题:

与其他剑道UI控件形式的前半部分被适当地发布它们的值到控制器,但是其中作为剑道UI网格由具有张贴一些列的值的一些问题

  • 与数据类型小数在剑道UI格列不张贴值

  • 当被选择时,如CheckBox和剑道下拉的EditorTemplate控制显示值"[Object Object]"为下拉列表和布尔而非复选框控件的实际值。

Answer 1:

我怀疑你想要的网格作为窗体的一部分。 通常情况下,电网通过AJAX,而不是通过批量形式进行交互与其他控件提交 - 从形式解开它。 单单这可以节省你头疼。

上半场:

尝试使用剑道()。DatePickerFor(),剑道()。DropDownListFor(),等你并不需要通过请将.Name明确地命名这些剑道控件()。 这将帮助你与模型结合。

下半场:

使用非十进制另一种数据类型。 你认为是强硬? 尝试使用时间跨度类型时的一天,没有附加日期(成年男子哭了)。

你并不需要,通常情况下,布尔/复选框的EditorTemplate。 只要使用这个技巧(使用剃刀asuming您ARE,因为你没有留下代码)。

columns.Bound(b => b.IsActive).ClientTemplate("<input type='checkbox' ${ IsActive == true ? checked='checked' : ''} disabled />");

为网格的DDL最好的办法是

columns.ForeignKey(b => b.CustodianIdPrimary, Model.Custodians, "Id", "FullName").EditorViewData(new {ProjectId = Model.ProjectId}).EditorTemplateName("CustodianDropDownList");

凡Model.Custodians是所有可能的项目的列表。 然后您可以将EditorTemplate绑定名单,或让Ajax调用,如果你需要在这个特定的DDL的一个子集,这样的填充

@model int
@(Html.Kendo().DropDownList()
    .Name(ViewData.TemplateInfo.GetFullHtmlFieldName(""))
    .DataValueField("Id")
    .DataTextField("FullName")
    .OptionLabel("Unassigned")
    .DataSource(dataSource => dataSource
        .Read(read => read.Action("ReadProjectCustodiansDdl", "SysMaint", new {projectId = ViewData["ProjectId"]}))
    )
)

但这里是剑道提供范例

@model object       
@(
    Html.Kendo().DropDownListFor(m => m)        
        .BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"])
)

注意,在我最初的columns.ForeignKey,也就是在这个eample用来传递整个列表使用EditorViewData参数。

祝好运!



文章来源: kendo ui mvc grid editortemplate issue