动态渲染Kendo Coumn

时间:2019-03-13 10:52:00

标签: angular kendo-ui kendo-grid

列根据服务器的响应动态呈现。列名由用户配置,可以是任何内容。

在渲染网格时,在控制台中给出以下警告。来自服务器的列名称为“可见总数”

  

网格列字段名称“ Total Seen”看起来像不是有效的JavaScript标识符。标识符只能包含字母数字字符(包括“ $”或“ _”),并且不能以数字开头。请仅使用有效的标识符名称,以确保无错误操作。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

我最近也遇到过类似的问题,但是它与其他语言符号(俄语)有关。

这里是StackBlitz code,我是为您显示可用的解决方法的(它基于Kendo UI Grid官方文档)。在我的示例中查看Product Name字段。

主要思想是在渲染网格之前,将列的字段设置为适当的值,即有效的Javascript标识符。但是title属性仍将包含用户的值。

方法_prepareColumnFields用于通过正则表达式检查将列的字段转换为有效标识符(请注意,为简单起见,我使用了\W正则表达式,但其中不包含$符号也是有效的)。

方法_getProcessedGridData用于准备数据集,即替换存储在_fieldsMapping对象中的无效属性名称

通常,我会说这种解决方案有点混乱。我建议您在用户输入阶段准备适当的列名称。

希望有帮助!