Filtrowanie danych

Witam,

Mam taki problem, chciałbym sobie filrować dane ;) Proste, gdy sie używa AR :) Co w przypadku kiedy nie korrzysta się z AR tzn. napisało się model którego to metody wyciągają dane z bazy poprzez proste zapytania i zwracają je do kontrolera jako np. queryRow. Istniej w ogóle możliwość w prosty i przejżysty sposób filtrowania takich danych ala metoda search wygenerowana przez CRUD’a? Czy niestety trzeba pisać formularze, oskryptować je js … itd.

Filtrowanie np. w CGridView czy w ogóle filtrowanie w SQL ?? Jeżeli chcesz żeby CGridView działał bez AR, to wystarczy żeby funkcja search zwróciła dataProvider inny niż CActiveDataProvider (np. CSqlDataProvider). Wtedy nie tworzysz obiektu klasy CDbCriteria, tylko podpinasz konkretne wartości w swoje zapytanie sql, z zapytania zwracasz obiekt CSqlDataProvider a CGridView robi resztę :). Ważne, żeby dane poddać walidacji, gdyż są przekazywane bezpośrednio od użytkownika i mogą tam pojawić się złe rzeczy ;).

W sensie nie chodzi mi o filtrowanie jako walidację. Model(ale nie AR) zwraca mi dataProvider(np. CSqlDataProvider), wrzucam to teraz do CGridView i chciałbym aby w nagłówku tabeli był AJAXowy formularz do wyszukiwania/filtrowania danych? Jest taka mozliwość mając dane z modelu nie dziedziczącego z AR?

Myślę, że tak. Model na pewno musi dziedziczyć po CModel, ale nie musi to być AR. Co się dzieje, jeżeli przekazujesz CSqlDataProvider do CGridView?