Я использую Telerik MVC Grid, и мне нужно применить правила фильтрации ниже, но, похоже, они применяются только к первым двум столбцам и игнорируют все остальные столбцы.
Здесь код JS: (предположим, что grid равен $ ("# grid"). Data ("tgrid"))
function extTelerikGridFilter(grid, value) {
if (!$.isArray(grid.columns)) throw "Error : First Parameter accept only array.";
var colLength = grid.columns.length - 1;
var filterText = "";
var tempArr = new Array();
for (var i = 0; i < grid.columns.length; i++) {
filterText = filterText + "substringof({0},'{1}')".replace("{0}", grid.columns[i].member).replace("{1}", value);
if (colLength > 0) {
filterText = filterText + "~or~";
colLength = colLength - 1;
}
}
console.log(filterText);
grid.filter(filterText);
}
Результат console.log (filterText):
substringof (Doc_No, 'Opriyandi') ~ или ~ substringof (тип 'Opriyandi') ~ или ~ substringof (Request_By, 'Opriyandi') ~ или ~ substringof (Request_Date, 'Opriyandi') ~ или ~ substringof (Департамент 'Opriyandi') ~ или ~ substringof (завод 'Opriyandi') ~ или ~ substringof (Описание, 'Opriyandi') ~ или ~ substringof (IT_Support, 'Opriyandi') ~ или ~ substringof (Status "Opriyandi «)
Посмотрите до и после применения фильтров во вложении.
Это какая-то ошибка или, возможно, я сделал что-то не так ... Спасибо.
* Использование Telerik MVC 2011.3.1229
* Пожалуйста, спросите меня, если вам нужна дополнительная информация относительно моей проблемы. :)
Приложение:
- BeforeApplyingFilter.png
- AfterApplyingFilter