#extjs
#extjs
Вопрос:
У меня есть столбец grid:
{
header: "",
sortable: false,
id: 'value',
dataIndex: 'value',
hidden: false,
editor: {
xtype: 'textfield',
allowBlank: false
}
}
Как избежать html-объектов только в функции визуализации для этого столбца?
Ответ №1:
Свойство renderer определения столбца может принимать либо функцию, либо строковое имя одного из Ext.util.Методы Format. В этом случае вы можете использовать метод HtmlEncode, объявив столбец как:
{
header: "",
sortable: false,
id: 'value',
dataIndex: 'value',
hidden: false,
editor: {
xtype: 'textfield',
allowBlank: false
},
renderer: 'htmlEncode'
}
Комментарии:
1. Мне пришлось использовать
renderer: Ext.util.Format.htmlFormat
(вместо строки; в Ext3).2. Не удалось найти ни одного такого именованного свойства. Не могли бы вы, пожалуйста, помочь определить, где мне следует это применить
htmlEncode
?
Ответ №2:
На панели EditorGridPanel есть свойство autoEncode.
«Значение True для автоматического кодирования и декодирования значений HTML до и после редактирования (по умолчанию равно false)».
Просто установите для него значение true.
autoEncode: true
Ответ №3:
привет, напишите этот код в app.js файл //код для grid xss
Ext.override(Ext.grid.column.Column, {
defaultRenderer: Ext.util.Format.htmlEncode
});