I tried code given by you in post, the basic filtering also stopped working. I think change event was not firing.
in load event I am populating filter options
var npebsColumn = grid.getColumn({ dataIndx: 'NPEBS' });
npebsColumn.filter.options = grid.getData({ dataIndx: ['NPEBS'] });
npebsColumn.filter.cache = null;
so it is showing now empty string "" and "Empty" both in filter options.
When i looked in filter options the value for option is not getting populated. If Value gets populated then it will work without any custom stuff. I want to avoid custom filtering for basic filtering.
Following code works for empty or null string:
var npebsColumn = grid.getColumn({ dataIndx: 'NPEBS' });
npebsColumn.filter.options = grid.getData({ dataIndx: ['NPEBSVal', 'NPEBS'] });
npebsColumn.filter.cache = null;
{
title: "NPEBS",
dataIndx: "NPEBS",
width: 100,
align: "center",
filter: {
type: 'select',
prepend: { '': '--Select--' },
valueIndx: 'NPEBSVal',
labelIndx: 'NPEBS',
condition: 'equal',
listeners: ['change']
/* init: function () {
$(this).pqSelect({attr: "multiple", checkbox: true, radio: true, width: '100%' });
}*/
// filter: { type: 'textbox', condition: 'begin', listeners: ['keyup'] }
}},
{
title: "NPEBSVal",
dataIndx: "NPEBSVal",
hidden: true,
width: 100,
align: "center"
},
Here I have specify another column name like: NPEBSVal , then option value is getting set and filtering works properly. But for that I will have to add one more unnecessary column which is not right. I would like the filter options value and text to be initialized with same column name NPEBS which is currently not happening. How can i do that?