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

私はこれに従い、それは魅力として機能します

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

于 2012-10-30T13:50:54.797 に答える
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 に答える