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