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 :
Mon select me ramène 3000 Engs, le LoadFromDataSet met 3 secondes à charger.... très long !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
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 .......
Si quelqu'un avait une explication ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
Partager