Как избежать 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
});