0

目前我有如下内联编辑网格,我在列 CStatusID 中有下拉列表,但是,在尝试保存到数据库时它没有选择值

看法:

@(Html.Kendo().Grid(Model)
    .Name("SList")
        .HtmlAttributes(new { @Style = "align:center; font-size:10px;" })
    .Columns(columns => {
        columns.Bound(p => p.CCID);
        columns.Bound(p => p.CRN);
        columns.Bound(p => p.CStatusID).EditorTemplateName("CStatus
");
        columns.Bound(p => p.DateScheduled).Format("{0:MM/dd/yyyy}");

        columns.Command(commands => commands.Edit()).Width(175);
    })
    //.ToolBar(toolBar => toolBar.Save())
    .Editable(editable => editable.Mode(GridEditMode.InLine))
    .Pageable()
    .Sortable()
    .Scrollable()
    .Navigatable()
    .Selectable(selectable => selectable.Mode(GridSelectionMode.Single)
                                        .Type(GridSelectionType.Row))
    .DataSource(dataSource => dataSource        
        .Ajax()
        .PageSize(10)   
        .Model(model => model.Id(p => p.ConsumerID))
        .Read(read => read.Action("Index", "Management"))
        .Update(update => update.Action("Edit", "Management"))

    )
)

我在共享/编辑器模板下有 CStatus.cshtml :

@(Html.Kendo().ComboBox()
        .Name("Status")
        //.OptionLabel("Select status")
        .DataValueField("OptID")
        .DataTextField("OptName")
        .BindTo((System.Collections.IEnumerable)ViewData["constStatus"])


)

控制器:

public ActionResult Index()
        {
            PopulateConstStatus();
            return View();
        }

private void PopulateConstStatus()
        {
            ViewData["constStatus"] = new EDEntities().COptions
                       .Select(e => new ConfOptModel
                       {
                           OptionID = e.OptID,
                           OptionName = e.OptName,
                           CTypeID = e.CTypeID
                       })
                       .Where(e => e.CTypeID == 2)
                       .OrderBy(e => e.OptName);
        }

模型

public int OptID { get; set; }
public string OptName { get; set; }

[UIHint("CStatus")]
public COptionsModel COptionsModel { get; set; }
4

2 回答 2

1

尝试在剑道网格中添加以下事件

.Events(events =>
{
    events.Save("TestPointGrid_Save");
})

和以下脚本

<script type="text/javascript">
    function TestPointGrid_Save(e) {
        var companyId = $("#NameoftheDropdownlist").data().kendoDropDownList.value();
        e.model.set("NameoftheDropdownlist", companyId);
    }
</script>

您可以参考此链接以获取更多信息

于 2014-04-17T11:37:31.607 回答
1

我遵循这个,它就像一个魅力

http://demos.kendoui.c​​om/web/grid/foreignkeycolumn.html

于 2012-10-30T13:50:54.797 回答