Ehlib, familiaritate cu tdbgrideh
TDBGridEh nu stochează date în sine, afișează doar datele TDataSet a datelor stabilite prin obiectul TDataLink. Fiecare componentă pentru comunicarea cu obiectul de date are un TDataLink TDataSet'a intern. Vă puteți conecta la DataSet folosind TDBGridEh DataSource proprietate. Dacă ați folosit deja componenta TStringGrid, este posibil să observați că datele afișate în TStringGrid și TDBGridEh foarte asemănătoare, dar mecanismele care sunt utilizate pentru a afișa datele în TStringGrid și TDBGridEh complet diferite. În TStringGrid numărul total de linii de grilă în matrice este egal cu numărul de rânduri de date, în timp ce în TDBGridEh (și TDBGrid) numărul de rânduri nu este mai mare decât numărul de linii vizibile. Deși defilare verticală poate afișa poziția în raport cu numărul total de înregistrări într-un set de date, nu este nevoie de date de la o poziție de celule matrice grid'a și direct de date CCD (DataSet.RecNo). TDataSet nu ne permite să lucrăm cu datele ca un set de date, de exemplu. nu putem obține rapid valoarea unui câmp dintr-un anumit record. În plus, unele tipuri de seturi de date nu au un număr record de indiciu (DataSet.RecNo). Într-o astfel dataset'ah putem ști numai atunci când suntem la începutul sau la sfârșitul setului de date, sau undeva la mijloc, iar în acest caz DBGrid arată defilare verticală doar 3 poziții (în TDBGridEh de a lucra cu un astfel de TMemTableEh nevoie pentru a activa SumList obiect ). Pentru a fi capabil să afișeze mai multe înregistrări simultan, TDataLink obiect utilizează intrări tampon (buffer fereastra de înregistrare), cu acces rapid la read-only. DBGrid folosește această datalink'a oportunitate și setează dimensiunea ferestrei tampon de înregistrare egal cu numărul de linii vizibile grid'a posibile. DataLink nu permite să se determine modul în care înregistrările din un set de date este umplut cu tamponul. DataLink se va derula conținutul fereastra tampon de înregistrare atunci când vom trece la DataSet (În continuare, Prior), astfel încât înregistrarea activă a rămas întotdeauna în fereastra de tampon de înregistrare. Acesta este motivul pentru care poziția înregistrării activ se modifică atunci când utilizatorii modifica poziția scrollbar cu mouse-ul.
TDBGridEh și o bară de derulare verticală.
Atunci când se lucrează în diferite tipuri de seturi de date poate fi remarcat faptul că, pentru anumite tipuri de seturi de date DBGrid afișează o bară de derulare verticală este drept și pentru alții are doar 3 poziții, indiferent de numărul de înregistrări din setul de date. Pentru a se potrivi cu bara de defilare DBGrid utilizează componenta RecordCount proprietate și RecNo DataSet. Unii dataset'y și chiar unele dataset'y în anumite condiții, a reveni -1 ca valoare și RecordCount RecNo. Funcția DataSet IsSequenced indică dacă un tabel de bază de date utilizează numere de înregistrare pentru a afișa ordinea de înregistrări. Când IsSequenced returnează aplicații RecNo Adevărat pot folosi proprietatea pentru a trece prin înregistrări set de date și DBGrid folosi RecNo proprietate pentru a afișa cursorul pe scrollbar'e verticală. Dar când IsSequenced returnează false, DBGrid nu se poate determina poziția înregistrării curente, și afișează un cursor scrollbar 3 poziții. componenta DBGridEh are capacitatea de a afișa o bară de derulare proporțională chiar dezordonate de date CCD. Pentru a face acest lucru, trebuie să activați SumList proprietate. Setați la SumList.VirtualRecords Adevărat și SumList.Active la Adevărat. SumList bookmar'ov a crea o listă de înregistrări. Dacă utilizați tehnologia client-server pentru a accesa baza de date, forțând SumList de date CCD să se întoarcă toate înregistrările, iar operația va dura ceva timp. Rețineți că VirtualRecords va funcționa doar cu marcaje complete de relație, și anume DataSet.ComapreBookmark ar trebui să se întoarcă> 0 dacă bookmark1> bookmark2 (de exemplu, înregistrarea indicat de Bookmark1 merge după înregistrare, ceea ce indică bookmark2), = 0 dacă bookmark1 = bookmark2, = 1 ""> 1 ȘI | ! = |> | = |- Acasă /
- Materialele noastre /
- EhLib, familiaritate cu TDBGridEh
A fost aceasta de ajutor? Împărtășește-l