从Kendo Grid的onEdit事件中调用EditorTemplateName

时间:2019-01-23 22:30:49

标签: kendo-grid kendo-asp.net-mvc

我在MVC项目中使用了Kendo网格。在我的网格中,我有3列城市,州,国家/地区列。网格中的这3列都有combox来选择网格中的值。但是这里我面临一个问题,第一次加载页面时,我能够查看列中的组合框,但是在页面刷新后,组合框消失了,并被文本框替换了。 因此,我需要在Grid的“ onEdit”事件上调用“ EditorTemplateName”。 如果任何人都可以共享与此相关的任何代码,将很有帮助。
供参考发布网格代码。

@(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")
    )     
)


0 个答案:

没有答案