я собираюсь запомнить где-то изначальный query, если критерий в элементе задан, программно соединить с таблицей, из которой берутся данные для датаметода и отфильтровать по ней. А если критерий не задан, восстановить первоначальный запрос
А почему бы на постоянно не заменить display-метод на соединение с таблицей? Для чего возвращаться к display-методу обратно?