как разрешить только положительные числа в числовом фильтре в сетке в extjs

Это мой первый пост, так что я могу писать не в той теме, извините за это.

Я хотел бы ограничить отрицательные значения в фильтре числовой сетки, разрешив только положительные числа в числовом фильтре в сетке, я не могу найти, как это сделать.

вот мой код

var myFilters =
{
    ftype     : 'filters',
    encode    : false,
    local     : false,
    extend    : 'Ext.data.Model',          
    filters    :
    [
        {
            type        : 'numeric',
            dataIndex    : 'utilization_per'
        }
    ]
};

deviceUtilGridPanel = new Ext.grid.GridPanel(
{
    features    : [myFilters],
    columns :
    [
          {id:'ru_utilization_per', header: "Utilization(%) (U)", sortable: true,     dataIndex: 'utilization_per', filterable: true, filter :{type:'numeric'},width:80}
    ]
});

Любая помощь будет оценена.

Заранее спасибо.


person alind    schedule 19.09.2012    source источник


Ответы (1)


Вы можете использовать конфигурацию menuItemCfgs в фильтре, чтобы изменить поле формы, используемое меню фильтра.

var myFilters = {
    ftype:   "filters",
    encode:  false,
    local:   false,
    filters: [{
        dataIndex:    "utilization_per",
        type:         "numeric",
        menuItemCfgs: {
            minValue: 1  // Or 0, or whatever you want
        }
    }]
};

В качестве побочного примечания (на самом деле не связанного с ответом) в вашем коде есть несколько проблем. Вам не нужно добавлять extend в конфигурацию вашего фильтра, потому что вы не расширяете его, и ему не нужно знать о ваших моделях. Конфигурация header в определении столбца устарела в пользу text, которая делает то же самое. По умолчанию столбцы фильтруются, поэтому filterable: true не требуется. И если вы укажете свой фильтр столбца в конфигурации функции фильтра, вам не нужно указывать его на уровне столбца.

person Eric    schedule 19.09.2012