Kbmmemtable / DisableControls / DbGrid
Salut,
J'ai un problème, j'ai un Kbmmemtable branché sur un Datasource branché sur un DBGrid....
Une Base de données Firebird.
lorsque je charge ma Table mémoire je fait comme suit :
Code:
1 2 3 4 5 6 7 8 9 10
|
Transaction.StartTransaction;
UIBDataSet.SQL.Text := 'SELECT * FROM TOTO';
UIBDataSet.Open;
KBM.DisableControls;
KBM.AfterScroll := NIL;
KBM.LoadFromDataSet(DM_XPLAN.UIBDataSet, [mtcpoStructure]);
UIBDataSet.Close;
KBM.AfterScroll := KBMAfterScroll;
KBM.EnableControls; |
Mon select me ramène 3000 Engs, le LoadFromDataSet met 3 secondes à charger.... très long !
J'avais cru comprendre que le DisableControls permettait d’empêcher le refresh dans les composants branchés sur la Table Mémoire...
Avec le Code qui suit, en mettant le Enabled False / True sur mon DBGRID au lieu d'utiliser DisabledControls / EnabledControls ...le LoadFromDataSet met 1/2 seconde pour charger la Requete .......
Code:
1 2 3 4 5 6 7 8 9 10
|
Transaction.StartTransaction;
UIBDataSet.SQL.Text := 'SELECT * FROM TOTO';
UIBDataSet.Open;
DBGRID.Enabled := False;
KBM.AfterScroll := NIL;
KBM.LoadFromDataSet(DM_XPLAN.UIBDataSet, [mtcpoStructure]);
UIBDataSet.Close;
KBM.AfterScroll := KBMAfterScroll;
DBGRID.Enabled := True; |
Si quelqu'un avait une explication ....:cry: