Я использовал сетку кендо в своем проекте MVC.В моей сетке у меня есть 3 столбца, например, город, штат, страна столбцы.Эти 3 столбца в сетке имеют поле для выбора значения в сетке.Но здесь я сталкиваюсь с проблемой: впервые, когда страница загружается, я могу просматривать комбинированный список в столбцах, но после обновления страницы комбинированный список исчезает и заменяется текстовым полем.Следовательно, мне нужно вызвать «EditorTemplateName» для события «onEdit» Grid.Если кто-то может поделиться каким-либо кодом, связанным с этим, было бы полезно.
Для справки, публикуя код сетки.
@(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")
)
)