Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.02;
Скачать: CL | DM;

Вниз

Запретить Refresh при изменении несвязаного с параметрами поля?   Найти похожие ветки 

 
Erik1 ©   (2004-12-17 13:52) [0]

Есть компонент TsvStoredProc наследние от TStoredProc у него имеется TQueryDataLink = class(TDataLink). В TQueryDataLink описан метод procedure RecordChanged(Field: TField); override; там происходит Refresh подчиненых DataSet.
procedure TQueryDataLink.RecordChanged(Field: TField);
begin
 if (Field = nil) and FProc.Active then
   FProc.RefreshParams(True); //refresh does not work
end;

procedure TsvStoredProc.RefreshParams(const Force: Boolean);
var
 DataSet: TDataSet;
begin
 if State in [dsEdit, dsInsert] then
   Post;
 if Cachedupdates and UpdatesPending then
   exit;

 DisableControls;
 try
   if Assigned(FDataLink.DataSource) then
   begin
     DataSet := FDataLink.DataSource.DataSet;
     if Assigned(DataSet) then
       if DataSet.Active and (DataSet.State <> dsSetKey) then
         if Force or IsChanged(DataSet, Params) then
         begin
           Close;
           Open;
         end;
   end;
 finally
   EnableControls;
 end;
end;
У всех TsvStoredProc есть возможность задать DataSource мастера и от туда подставляются параметвы в процедуры, это очень удобно при любых изменениях главной таблицы меняются все подчиненые.
К сожалению незнаю как лишний раз невызывать Refresh например когда изменяется поле неотносяшееся к Master-Detail связи?


 
Erik1 ©   (2004-12-17 13:56) [1]

Тоесть мне нужно отличать Принудительный Refresh от простого изменения данных.



Страницы: 1 вся ветка

Текущий архив: 2005.01.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.056 c
1-1103492694
Артем Владимирович
2004-12-20 00:44
2005.01.02
Запись в себя


4-1100697304
cautur
2004-11-17 16:15
2005.01.02
Формат даты Windows


1-1103263631
akhmadey
2004-12-17 09:07
2005.01.02
Delphi&amp;Excel


3-1102386152
dolphin
2004-12-07 05:22
2005.01.02
таблица в таблице


1-1103479224
softmaster
2004-12-19 21:00
2005.01.02
Проблема с формой