这是我的问题:
我有两个类似代码的项目在kendogrid中显示一个下拉列表。在第一个项目中一切正常,在第二个项目中,我得到了一个文本框dipslaying而不是下拉列表。我在telerik周围搜索过,但没有什么能解决我的问题。我觉得我的项目中缺少一些可以使这项工作正常的东西。或者有什么阻止它!但是找不到..希望你能帮助我!
这是我的网格:
@(Html.Kendo().Grid<DisplayUniteMultiple>()
.Name("GridDisplayUniteMultiple")
.ToolBar(t => t.Create().Text("Ajouter un couple Valeur/ Unite"))
.Columns(columns =>
{
columns.Bound(c => c.id).Hidden(true);
columns.Bound(c => c.Valeur);
columns.ForeignKey(c => c.Unite, unitesDeConversion, "Value", "Text").Title("Unité").Width(200);
})
.Editable(editable => editable.Mode(GridEditMode.InCell).Enabled(true))
.Events(e => e.Edit("onGridChange"))
.DataSource(datasource => datasource
.Ajax()
.Update(builder => builder.Url(""))
.PageSize(50)
.Batch(false)
.Model(model =>
{
model.Id(uniteMultiple => uniteMultiple.id);
model.Field(uniteMultiple => uniteMultiple.Valeur);
model.Field(uniteMultiple => uniteMultiple.Unite);
})
.ServerOperation(true)
))
答案 0 :(得分:2)
您可能缺少在项目中添加编辑器模板。
在EditorTemplates
目录中创建名为../Views/Shared/
的新文件夹(如果尚未创建)。然后在该文件夹中创建名为GridForeignKey.cshtml
的新文件,并将代码复制到其中,保存并重试。
@model object
@(
Html.Kendo().DropDownListFor(m => m)
.BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"])
)