1

ASP.Net MVC 3、Kendo UI Web、Kendo 网格控件。

我的主要数据源通过外键绑定使用外部数据源:

.Columns(columns =>
{
    columns.ForeignKey(p => p.FK_ID, (System.Collections.IEnumerable)ViewData["things"], "ID", "NAME");
    ...

在视图模式下,绑定按预期工作,我看到NAME由“FK_ID - ID”关系绑定的属性。

但是,当我进入编辑模式时,会发生奇怪的事情:

  • 在内联模式下——该列被禁用(即该字段没有任何类型的编辑器)

  • 在弹出模式下——有一个编辑框编辑器,而不是组合框,所以尽管有绑定,我还是必须手动输入

在 Kendo 网站上,演示显示,如果外键处于编辑模式,则会显示组合框,并且选择仅限于外部数据源(非常常识)。

那么我应该怎么做才能显示组合框并仅从那里显示的值中选择?

4

1 回答 1

3

请问您是否有需要的外键编辑器?它应该位于 Views/Shared/EditorTemplates 文件夹下,其名称为GridForeignKey.cshtml(如果使用 ASPX 视图引擎,则为 .aspx)

如果它不存在,您可以使用上面的信息手动添加它。编辑器的内容是:

@( Html.Kendo().DropDownList()
    .Name(ViewData.TemplateInfo.GetFullHtmlFieldName(""))
    .BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"]))
于 2012-10-30T20:02:11.387 回答