Topic: Фильтры в TableGrid

Есть необходимость фильтрования выведенной информации в TableGrid (по аналогии как в Excel), есть ли такая программная возможность.

Re: Фильтры в TableGrid

Опишите пожалуйста подробней, как именно вам необходимо отфильтровать данные.

Dmitry.

Re: Фильтры в TableGrid

Ну например: у меня есть уже готовая и заполненная база данных, я вывожу в нее с помощью различных групп информацию, но мне необходимо еще фильтрануть в TableGride, допустим по цвету ячеек (у меня в скрипте прописана раскраска ячеек при определенных условиях).

Re: Фильтры в TableGrid

То есть сформулирую проще: можно ли в TableGrid установить в столбцах фильтры, по аналогии с Excel?

Re: Фильтры в TableGrid

И еще один вопрос, что некорректно в данной части скрипта:

if StrToFloat(frmPoisk.tablRezultatPoiska.Cells[2,r]) < StrToFloat(frmPoisk.tablRezultatPoiska.Cells[3,r])
               and StrToFloat(frmPoisk.tablRezultatPoiska.Cells[4,r])=nil
               THEN frmPoisk.tablRezultatPoiska.Cell[2,r].Color := clRed;

Re: Фильтры в TableGrid

maksimzakharov wrote:

Ну например: у меня есть уже готовая и заполненная база данных, я вывожу в нее с помощью различных групп информацию, но мне необходимо еще фильтрануть в TableGride, допустим по цвету ячеек (у меня в скрипте прописана раскраска ячеек при определенных условиях).

Точно также как в Excel сделать не получиться, но разве у вас не получается отфильтровать записи с помощью кнопки Поиск? Просто не могу понять в чем принципиальная разница.

Dmitry.

Re: Фильтры в TableGrid

maksimzakharov wrote:

И еще один вопрос, что некорректно в данной части скрипта:

if StrToFloat(frmPoisk.tablRezultatPoiska.Cells[2,r]) < StrToFloat(frmPoisk.tablRezultatPoiska.Cells[3,r])
               and StrToFloat(frmPoisk.tablRezultatPoiska.Cells[4,r])=nil
               THEN frmPoisk.tablRezultatPoiska.Cell[2,r].Color := clRed;


попробуйте так

if (ValidFloat(frmPoisk.tablRezultatPoiska.Cells[2,r])) and 
   (ValidFloat(frmPoisk.tablRezultatPoiska.Cells[3,r])) then 
        if (StrToFloat(frmPoisk.tablRezultatPoiska.Cells[2,r]) < StrToFloat(frmPoisk.tablRezultatPoiska.Cells[3,r])) and
        (frmPoisk.tablRezultatPoiska.Cells[4,r]='') then frmPoisk.tablRezultatPoiska.Cell[2,r].Color := clRed;
Dmitry.

Re: Фильтры в TableGrid

DriveSoft wrote:
maksimzakharov wrote:

И еще один вопрос, что некорректно в данной части скрипта:

if StrToFloat(frmPoisk.tablRezultatPoiska.Cells[2,r]) < StrToFloat(frmPoisk.tablRezultatPoiska.Cells[3,r])
               and StrToFloat(frmPoisk.tablRezultatPoiska.Cells[4,r])=nil
               THEN frmPoisk.tablRezultatPoiska.Cell[2,r].Color := clRed;


попробуйте так

if (ValidFloat(frmPoisk.tablRezultatPoiska.Cells[2,r])) and 
   (ValidFloat(frmPoisk.tablRezultatPoiska.Cells[3,r])) then 
        if (StrToFloat(frmPoisk.tablRezultatPoiska.Cells[2,r]) < StrToFloat(frmPoisk.tablRezultatPoiska.Cells[3,r])) and
        (frmPoisk.tablRezultatPoiska.Cells[4,r]='') then frmPoisk.tablRezultatPoiska.Cell[2,r].Color := clRed;

Спасибо, работает.