Kendo ui 带外键的剑道UI网格下拉列表

Kendo ui 带外键的剑道UI网格下拉列表,kendo-ui,kendo-grid,Kendo Ui,Kendo Grid,我本应该在Telerik论坛上问这个问题,但在浏览了很多答案后,我觉得这是徒劳的,我可以期待在这里得到更好更快的答案。所以我要说: 我正在使用剑道UI网格控件,并在一个可编辑的dropdownlist单元格中显示这些值。但这已经取消了内置过滤功能,因为它不是现成的。现在我被困在实现这一目标的唯一途径上,那就是使用外键 示例中缺少了一些位,如PopulateCategories()函数和要在MVC EditorTemplate中放入的代码 是否有人尝试并成功地显示过滤器?我可以提供我的代码,但我认

我本应该在Telerik论坛上问这个问题,但在浏览了很多答案后,我觉得这是徒劳的,我可以期待在这里得到更好更快的答案。所以我要说:

我正在使用剑道UI网格控件,并在一个可编辑的dropdownlist单元格中显示这些值。但这已经取消了内置过滤功能,因为它不是现成的。现在我被困在实现这一目标的唯一途径上,那就是使用外键

示例中缺少了一些位,如PopulateCategories()函数和要在MVC EditorTemplate中放入的代码


是否有人尝试并成功地显示过滤器?我可以提供我的代码,但我认为这不是问题的一部分,因为代码中没有任何错误。我想问的是,如何使用Telerik提供的解决方案使用dropdownlist模板实现过滤

希望它能帮助某些人。上面链接中提供的示例缺少以下位(我已使用我的代码来传达缺少的位):

弗斯特 而不是:

columns.ForeignKey(p => p.CategoryID, (System.Collections.IEnumerable)ViewData["categories"], "CategoryID", "CategoryName")
            .Title("Category").Width(150)
也使用EditorTemplateName属性:

columns.ForeignKey(p => p.Region.RegionId, (System.Collections.IEnumerable)ViewData["Regions"], "RegionId", "RegionName").Title("Region").EditorTemplateName("RegionsTemplate");
第二 继续使用复杂模型,否则“添加新记录”功能将无法工作:

所以不是

.Model(model =>
        {
            model.Id(p => p.ProductID);
            model.Field(p => p.ProductID).Editable(false);
            model.Field(p => p.CategoryID).DefaultValue(1);       
        })
同时使用外键模型和复杂模型:

.Model(model => { 
                model.Id(p => p.FunctionLevelRegionMappingId);
                model.Field(p => p.FunctionLevelRegionMappingId).Editable(false);
                model.Field(p => p.Region.RegionId).DefaultValue(1);
                model.Field(p => p.Region).DefaultValue(
                    ViewData["DefaultRegion"] as GlobalLossAnalysisTool.Web.Areas.Administration.Models.RegionDto);
            })
第三 示例中缺少ProductViewModel。这一点可以参考。这个模型没有变化

第四 对模板的更改:

示例中缺少模板,但可以从链接中推断。将模板更改为:

@model Kendo.Mvc.Examples.Models.CategoryViewModel

@(Html.Kendo().DropDownListFor(m => m)
        .DataValueField("CategoryID")
        .DataTextField("CategoryName")
        .BindTo((System.Collections.IEnumerable)ViewData["categories"])
)
致:


谢谢你让我摆脱了头痛。我花了太多的时间来演示这个例子,那个网站上的演示代码不起作用。这使我浪费了很多时间。我希望我读过/知道你贴的主题。
@using Kendo.Mvc.UI

@(Html.Kendo().DropDownListFor(m => m)
    .BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"]))