0

我正在将 Telerik ASP.net MVC 迁移到 Kendo ASP.net MVC。在 Telerik MVC 中,我使用数组中的一个对象和在 Bound 调用中指定的对象类型来限制列,并且所有这些都运行良好。

columns.Bound(field.EntityFieldType, field.EntityFieldName).Title(field.DisplayName).Template(g =>
{<%= g.GetValue(field.EntityFieldId)%>}).Width(field.Width);
.......

但是使用 Kendo MemberType 会被忽略并保持为空。有没有其他方法可以在 Kendo 中设置 MemberType?或者,如果 Kendo 仅将数据模式用于列数据类型,那么我如何在运行时更新模式?

4

1 回答 1

3

Telerik 似乎不赞成使用 Type in Bound 调用,而是使用 DataSource Schema Model。在绑定任何列之前,我通过清除模型架构解决了我的问题。

columns.Container.DataSource.Schema.Model.Fields.Clear();

然后在每个绑定列之后,我在模型字段列表中添加了一个新条目。由于我的字段名称包含点(。)我需要将字段名称放在引号中,以便生成 JSon 是正确的。

ModelFieldDescriptor modelField = new ModelFieldDescriptor();
modelField.Member = "\"" + field.EntityFieldName + "\"";
modelField.MemberType = field.EntityFieldType;
modelField.DefaultValue = null;
modelField.IsEditable = false;
columns.Container.DataSource.Schema.Model.Fields.Add(modelField);
于 2012-08-05T10:06:46.980 回答