Hello everybody,
I'm going to implement a custom filter on webdatagrid client side. So I need filter on many columns.
But I have a occured error.
When I add the Array of filter, with "add_columnFilterRange()" , I throw an exception....(Sys.InvalidOperationException)
Look at my javascript code :
function Filter() {
var grid = $find("<%= Gri_Cli.ClientID%>");
var searchTextBox = $get("<%= Txt_Rec.ClientID %>");
var filtering = grid.get_behaviors().get_filtering();
// creer un tableau des filtres
var columnFilters = new Array();
for (z_I = 0; z_I < grid.get_columns().get_length() ; z_I++) {
if (grid.get_columns().get_column(z_I).get_type() == "string") {
// verifie qu'ona un filtre sur la colonnes
var columnFilter = filtering.get_columnFilter(z_I);
var colFilterExists = (columnFilter ? true : false);
if (colFilterExists) {
// condition du filtre
columnFilter.get_condition().set_rule($IG.TextFilterRules.Contains);
columnFilter.get_condition().set_value(searchTextBox.value);
// ajoute le filtre au tableau
columnFilters[z_I] = columnFilter;
}
// ajoute le tableau de filtres
grid.get_behaviors().get_filtering().add_columnFilterRange(columnFilters); <--- error
if (searchTextBox.value != '') {
// applique le filtre
filtering.applyFilters();
} else {
// enleve rout les filtres
filtering.clearColumnFilters();
Check the error on the file attachment.
Why it doesn't work?
Could you help me please ?
Thanks in advance.
JP
I found
function
Filter() {
switch (grid.get_columns().get_column(z_I).get_key())
{
case "ID":
// creer le filtre
var columnFilter = grid.get_behaviors().get_filtering().create_columnFilter(grid.get_columns().get_column(z_I).get_key());
break;
default :
// ajoutele tableau de filtres
grid.get_behaviors().get_filtering().add_columnFilterRange(columnFilters);
else {