我在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")
)
)