Рендеринг Кендо Кумн динамически - PullRequest
2 голосов
/ 13 марта 2019

Столбцы отображаются динамически в соответствии с ответом от сервера. И имена столбцов настраиваются пользователем, который может быть любым.

При рендеринге Grid в консоли отображается предупреждение ниже. Имя столбца, полученное с сервера: «Всего увидено»

Имя поля столбца сетки «Всего увидено» не похоже на допустимый идентификатор JavaScript. Идентификаторы могут содержать только буквенно-цифровые символы (включая «$» или «_») и не могут начинаться с цифры. Пожалуйста, используйте только правильные имена идентификаторов, чтобы обеспечить безошибочную работу.

Может кто-нибудь помочь?

1 Ответ

1 голос
/ 24 мая 2019

У меня недавно была похожая проблема, но она была связана с другими языковыми символами (русскими).

Вот код StackBlitz Я сделал для вас, чтобы показать доступный обходной путь (он основан на официальных документах Kendo UI Grid).Посмотрите на поле Product Name в моем примере.

Основная идея заключается в том, что вы устанавливаете поля ваших столбцов на соответствующие значения, то есть действительные идентификаторы Javascript, перед отображением сетки.Но свойство title все равно будет содержать значение пользователя.

Метод _prepareColumnFields используется для преобразования поля столбца в действительный идентификатор с помощью проверки регулярных выражений (учтите, что для простоты я использую \W регулярное выражение, но он не включает в себя символ $, который также является допустимымone).

Метод _getProcessedGridData используется для подготовки набора данных, т.е. замены недопустимых имен свойств, которые хранятся в _fieldsMapping object

В общем, я бы сказал, что это решение являетсянемного грязноЯ бы посоветовал вам подготовить правильные имена столбцов на этапе ввода пользователя.

Надеюсь, это поможет!

...