2010-09-06 5 views
2

Я знаю, что можно добавить строку фильтра под заголовком столбца, потому что я видел это с Coolite. Но поскольку я новичок в Sencha (ExtJS), мне трудно найти, как это сделать с ExtJS.grid.GridPanel непосредственно в скрипте. Не могли бы вы указать мне в правильном направлении с некоторыми примерами?Добавление строки заголовка фильтра в ExtJS GridPanel

Если возможно, я бы хотел сделать это без плагинов, но если есть один из них, делающий большой и простой в использовании, я мог бы изменить свое мнение.

Спасибо!

ответ

4

Здесь у вас есть ссылка на GridHeaderFilters Плагин. Там у вас есть простой пример того, как его использовать.

И в отношении вашего комментария о попытке сделать это без плагина, я рекомендую вам не делать этого. Потому что это может показаться легким кодом для написания, но я считаю, что это не так. Вот почему этот плагин имеет сотни строк. Я думаю, что это не плагин с функциями, которые вы не будете использовать, этот плагин просто делает фильтрацию так, как вам нужно.

И как последнее примечание, если вы ожидаете такого же поведения, как в this coolite example, я думаю, вам не повезло. Потому что если вы получите исходный код javascript этого примера и запустите его через jsbeautifier, вы увидите, что этот пример не использует какой-либо плагин ExtJS и не является простым кодом, так как используется очень сложный шаблон для заголовков.

+0

Большое спасибо за ваш ответ Proton! Кто-то также дал мне этот намек, поэтому я попробовал плагин. Отлично работает, но у меня все еще есть некоторые проблемы в контексте моего проекта. Он отлично загружается (в фазе Init), а затем, когда данные появляются в обратном вызове, я теряю поля фильтров. Вероятно, некоторые переопределения (или метод инъекции) где-то для onRender, –

+0

Как и в Coolite, мы использовали его (мы поделились лицензией), но решили вернуться в ExtJS, так как у нас есть больше возможностей и гибкости с ним. Я говорю «мы», но я действительно должен сказать «они» ;-) –

+0

«Он отлично загружается (в фазе Init), а затем, когда данные появляются в обратном вызове, я теряю поля фильтров. Возможно, некоторые переопределяют (или метод инъекции) где-то для onRender « У меня такая же проблема, после того как событие« afterRender »запущено, заголовки фильтров исчезают ... другие имеют такую ​​же проблему, но никаких признаков исправления пока нет. – DanB