105
DataSource1: TDataSource;
begin
name := Trim(name);
if name = '' then Exit;
ADOQuery1 := TADOQuery.Create(nil);
DataSource1 := TDataSource.Create(nil);
Form4.DBGrid1.DataSource := DataSource1;
ADOQuery1.Active := False;
sql := 'select a.id_contr, a.name, a.price, a.description, a.date_time, a.date_1, a.date_2,
a.info, '+
'b.id_contract_st, b.status, c.id_service, c.service, ' +
'd.id_contr, concat(d.fio, '' ['', d.passport, ''] '', d.org, '' ('', e.type, '')'') as contractor ' +
'from contracts as a ' +
'inner join contract_statuses as b on a.id_contract_st=b.id_contract_st ' +
'inner join services as c on a.id_service=c.id_service ' +
'inner join contractors as d on a.id_contr=d.id_contr ' +
'inner join contractor_types as e on d.id_contr_ty=e.id_contr_ty';
ADOQuery1.SQL.Add(sql);
ADOQuery1.Connection := Form1.ADOConnection1;
DataSource1.DataSet := ADOQuery1;
DataSource1.AutoEdit := True;
ADOQuery1.Open();
DataSource1.Enabled := True;
strs := TStringList.Create;
strs.Delimiter := ';';
strs.StrictDelimiter := False;
strs.DelimitedText :=
'ID;№_договора;Стоимость;Комментарий;Дата_заключения;Начало_действия;Окончан
ие_действия;Информация;ID;Статус_договора;ID;Услуга;ID;Клиент';
wdths := TStringList.Create;
wdths.Delimiter := ';';
wdths.StrictDelimiter := False;
wdths.DelimitedText := '35;80;80;70;90;90;90;70;35;80;35;120;35;200';
for i := 0 to Form4.DBGrid1.Columns.Count − 1 do begin
Form4.DBGrid1.Columns[i].Title.caption := strs.Strings[i];
Form4.DBGrid1.Columns[i].Width := StrToInt(wdths.Strings[i]);
end;
Form4.Caption := 'Контракты';
Form4.DBGrid1.Columns[0].Visible := false;
Form4.DBGrid1.Columns[8].Visible := false;
Form4.DBGrid1.Columns[10].Visible := false;
Form4.DBGrid1.Columns[12].Visible := false;
end;
Процедура загрузки контрагентов
procedure TForm1.loadContractors;
var
ind, i: Integer;
sql: String;