如何在编辑网格中的行时使用组合框与外部数据源?

时间:2012-10-28 19:56:01

标签: gridview kendo-ui

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网站上,演示显示,如果外键处于编辑模式,则会显示组合框,并且选择仅限于外部数据源(非常常见)。

那么我还应该做什么来显示组合框并仅从那里显示的值中选择?

1 个答案:

答案 0 :(得分:3)

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

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

@( Html.Kendo().DropDownList()
    .Name(ViewData.TemplateInfo.GetFullHtmlFieldName(""))
    .BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"]))