刷新页面时未出现Kendo Grid Column Combox

时间:2019-01-18 16:09:37

标签: model-view-controller kendo-ui kendo-grid

我在MVC项目中使用了Kendo网格。在我的网格中,我有3列城市,州,国家/地区列。网格中的这3列都有combox来选择网格中的值。但是这里我面临一个问题,第一次加载页面时,我能够查看列中的组合框,但是在页面刷新后,组合框消失了,并被文本框替换了。任何建议都会有所帮助。 供参考发布网格代码。

@(Html.Kendo().Grid<ProjTest.Models.Test>()
        .Name("Test")
        .Columns(columns =>
        {
            foreach (System.Data.DataColumn column in Model.Columns)
            {
                var c = columns.Bound(column.ColumnName);
                c.Title(column.Caption);
                if ((column.DataType.Name) == "String") c.Filterable(ftb => ftb.Operators(o => o.ForString(s => { s.Clear(); s.IsEqualTo("Is equal to"); s.IsNotEqualTo("Is not equal to"); s.StartsWith("Starts with"); s.Contains("Contains"); s.DoesNotContain("Does not contain"); s.EndsWith("Ends with"); s.IsNotNull("Is not empty"); s.IsNull("Is empty"); })));

                switch (column.ColumnName)
                {
                    case "City":
                        c.EditorTemplateName("_City");
                        break;
                    case "State":
                        c.EditorTemplateName("_State");
                        break;
                    case "Country":
                        c.EditorTemplateName("_Country");
                        break;

                }
            }
        })
        .DataSource(dataSource => dataSource
            .Ajax()
            .Model(model =>
            {
                foreach (System.Data.DataColumn column in Model.Columns)
                {
                    var field = model.Field(column.ColumnName, column.DataType);
                }
            })
            .Action("Read", "Test")
            .Data("gridParam")
            )
    )
        .Events(events => events
        .DataBound("onDataBound")
        .Edit("onEdit")
    )     

1 个答案:

答案 0 :(得分:0)

确保在“ onEdit”函数中调用EditorTemplateName,即您需要在每次编辑时重新创建模板。请参阅文档here