Page 92
Ф-ОБ-001/033
93
end;
end;
//фильтрация
procedure TFrmmain.QryFilterRecord(DataSet: TDataSet; var Accept: Boolean);
var i,j:integer;
fn,s:string;
b:boolean;
begin
Accept:=false;
if PageFIndType.ActivePageIndex = 0 then // поиск строкой
begin
fn:=AnsiUpperCase(Edit.Text);
for i:=0 to qry.Fields.Count-1 do
// по всем полям
begin
s:=AnsiUpperCase(qry.Fields[i].asString);
if CheckIn.Checked then
b:= pos(fn,s)<>0
// по включению
else
b:=copy(s,1,length(fn))=fn;
//по началу строки
if b then
begin
Accept:=true;
exit;
end;
end;
Exit;
end;
i:= ComboStran.ItemIndex;
if i>0 then
begin
i:= integer(ComboStran.Items.Objects[i]);
if QryCountryId.Value<>i then Exit;
end;
i:= ComboSity.ItemIndex;
if i>0 then
begin
i:= integer(ComboSity.Items.Objects[i]);
if QrySityId.Value<>i then Exit;
end;
if CheckZwezw.Checked then
begin
if QryZwezd.Valueend;
Ф-ОБ-001/033
94
if CheckCost.Checked and TryStrToInt(EditCost.Text,i) then
if QryCost.Value > i then Exit;
for i:=0 to CheckTransp.Items.Count-1 do
begin
j:= integer(CheckTransp.Items.Objects[i]);
if (QryTranspId.Value = j) and not CheckTransp.Checked[i] then Exit;
end;
Accept:=true;
end;
// скрыть / показать панель фильтрации
procedure TFrmmain.CheckFilterClick(Sender: TObject);
begin
CheckIn.Enabled :=CheckFilter.Checked;
qry.Filtered := CheckFilter.Checked;
Refresh;
end;
// любое изменение в параметрах фильтрации
procedure TFrmmain.CheckInClick(Sender: TObject);
begin
Refresh;
end;
// загрузка типов транспортов
procedure TFrmmain.LoadFiltres;
begin
with dm do
begin
with TblStarns do
begin
Open;
First;
ComboStran.Items.Clear;
ComboStran.Items.AddObject('<Все равно>', Pointer(-1));
while not eof do
begin
ComboStran.Items.AddObject(TblStarnsName.Value,
Pointer(TblStarnsId.Value));
Next;
end;
Close;
ComboStran.ItemIndex := 0;
end;
ComboStranChange(nil);
Достарыңызбен бөлісу: |