ForeignKey显示一个文本框而不是下拉列表
本文关键字:下拉列表 文本 一个 显示 ForeignKey | 更新日期: 2023-09-27 18:15:03
我的问题是:
我有两个项目与类似的代码显示一个下拉列表内的kendogrid。在第一个项目中所有的工作都很好,在第二个项目中我得到了一个文本框显示而不是下拉框。我在teleerik找过了,但没有什么能解决我的问题。我认为在我的项目中缺少一些东西,使这个工作很好。或者有东西挡住了!但是找不到……希望你能帮助我!
这是我的网格:
@(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)
))
您可能没有在项目中添加编辑器模板。
在../Views/Shared/
目录下创建一个名为EditorTemplates
的新文件夹,如果没有的话。然后在该文件夹中创建名为GridForeignKey.cshtml
的新文件,并将以下代码复制到其中,保存并再次尝试。
@model object
@(
Html.Kendo().DropDownListFor(m => m)
.BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"])
)