Вот короткая версия она работает, я проверил его.
// remove the text inside each search input fields
$('.slick-headerrow-column').children().val('');
// empty out all column filters within the columnFilters object & refresh dataview
for (var columnId in columnFilters) {
columnFilters[columnId] = "";
}
dataView.refresh();
Переменная columnFilters
очень важна, но, может быть назван по-разному в зависимости от вашего кода, но если вы посмотрите на эту Slickgrid Example вы можете увидеть, что она определяется как var columnFilters = {};
, а затем убедитесь, что этот кусок кода:
$(grid.getHeaderRow()).delegate(":input", "change keyup", function (e) {
var columnId = $(this).data("columnId");
if (columnId != null) {
columnFilters[columnId] = $.trim($(this).val());
dataView.refresh();
}
});
который прикрепляет все входы в этом переменный объекте columnFilters
... то только после того, как вы можете использовать код, который я дал (который работает для меня, как я тестировал)
Это работало? Я не видел, чтобы вы что-то отвечали ... +1 тоже было бы хорошо :) – ghiscoding
Я пробовал сегодня. Он отлично работает, но сетка не освежает никакой идеи. – Shesha
Хм есть пара вариантов. кеш браузера? Но я предполагаю, что это проблема, потому что у вас нет переменной 'columnFilters', иначе у вас ее код по-другому. Поддерживает ли Firebug (расширение Firefox) любые ошибки javascript? Я отредактирую свой ответ на то, где следует найти переменную 'columnFilters' – ghiscoding