Показать сообщение отдельно
  #2  
Старый 19.11.2012, 11:56
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от FroZko
Фильтрация таблицы происходит по нажатию какого-либо элемента в RadioGroup. Как видно в коде, условий несколько и они нужны для того, что бы производить последовательную фильтрацию (как я планировал), но незадача в этом то и состоит. Мне по логике моего приложения нужно отсеивать неподходящие записи в таблице методом её фильтрации, но этого не происходит, т.к. фильтрация работает только первый раз (с любым из условий). Второй раз таблица уже не фильтрует по этим же условиям. В этом собственно и суть.
После изменения условий фильтрации "передёргивай" свойство Filtered:
Код:
  Table1.Filtered := False;
  Table1.Filtered := True;

И кроме того у TRadioGroup проверять нужно свойство ItemIndex, а не Caption, так как выбор элементов это свойство не изменяют (разве что ты сам зачем-то это свойство изменяешь ):
Код:
var
  FieldName: string;
begin
  case RadioGroup1.ItemIndex of
    0: FieldName := 'Marka';
    1: FieldName := 'God_Vipuska';
    2: FieldName := 'Kuzov';
    3: FieldName := 'KPP';
    4: FieldName := 'Privod';
  else
    FieldName := '';
  end;

  Accept := (FieldName <> '') and (DataSet[FieldName] = Label1.Caption);
end;
Ответить с цитированием