Selecția software-ului de șiruri de caractere în dbgrid

Acesta este un eveniment pentru evidențierea celulelor rețelei, dar am nevoie de programare
selectați toate rândurile atunci când este apăsat butonul, de exemplu.

[2]
Nu confunda. Acest eveniment este pentru desenarea celulelor tabelului.

Cu privire la subiectul întrebării: Sunteți sigur că trebuie să selectați rândurile din DBGrid și să nu selectați (marcați) rândurile din setul de date? E?
Dacă încă există setul de date "e", apoi "DataSet.GetBookmarkmark", puneți rândurile selectate într-o listă separată și, de fapt, desenați DBGrid "și desenați rândurile selectate în mod diferit. Sau creați un câmp suplimentar în DataSet "de tipul" Selected ". Sau cumva, dar nu în DBGrid" e.

Am nevoie ca ei să fie în DBGrid.SelectedRows
Cum se face acest lucru?

> trageți rândurile selectate diferit
Ei bine, desenez, dar de fapt intru # xA0; DBGrid.SelectedRows că nu vor fi


procedura TEngineMF.DBGrid4DrawColumnCell (Expeditor: TObject;
# constă Rect: TRect; DataCol: Integer; Coloană: TColumn;
# xA0; Stare: TGridDrawState);
începe
dacă MotorDM.OrdersIBQ.IsEmpty iese apoi;

dacă EngineDM.OrdersIBQcondition.AsString = "Nu este comandat"
apoi DBGrid4.Canvas.Brush.Color: = $ cbc7fc;

dacă EngineDM.OrdersIBQcondition.AsString = "Ordered"
apoi DBGrid4.Canvas.Brush.Color: = clMoneyGreen;

dacă nu motorul EngineDM.OrdersIBQBest_Before.IsNull atunci
dacă ((> Date = = EngineDM.OrdersIBQBest_Before.AsDateTime)
# xA0; și (nu (MotorDM.OrdersIBQcondition.AsString = "Vândut")))
apoi DBGrid4.Canvas.Font.Style:=[fsBold];

// fără numerar
dacă (EngineDM.OrdersIBQzalog.AsInteger = 0)
apoi DBGrid4.Canvas.Brush.Color: = clCream;


procedura TFMain.rxgPersonnelKeyUp (Expeditor: TObject; var Cheie: Word;
# xA0; Shift: TShiftState);
începe
dacă (ssCtrl în Shift) și (Key = 65) atunci
# xA0; (Expeditor ca TRxDBGrid) .SelectAll;
se încheie;

Așa că să spun, folosește RxLib.


> Am nevoie să fie în DBGrid.SelectedRows
> Cum se face acest lucru?

mă sfătuiți doar să o color și asta?

acesta este un apel la liniile deja selectate, dar nu am nici unul


> acesta este un apel la liniile deja selectate, iar eu le am pe acestea
> nu

Și să încerci? Cu Adevărat, aceasta selectează înregistrarea curentă, dacă False o deselectează.


procedura TRxDBGrid.SelectAll;
var
# xA0; ABookmark: TBookmark;
începe
# xA0; apoi, dacă începe MultiSelect și DataLink.Active
# xA0; # xA0; cu Datalink.Dataset începe
# xA0; # xA0; # xA0; dacă (BOF și EOF) atunci ieșiți;
# xA0; # xA0; # xA0; DisableControls;
# xA0; # xA0; # xA0; încercați
# xA0; # xA0; # xA0; # xA0; ABookmark: = GetBookmark;
# xA0; # xA0; # xA0; # xA0; încercați
# xA0; # xA0; # xA0; # xA0; # xA0;
# xA0; # xA0; # xA0; # xA0; # xA0, în timp ce EOF nu începe
# xA0; # xA0; # xA0; # xA0; # xA0; # xA0; SelectedRows.CurrentRowSelected: = Adevărat;
# xA0; # xA0; # xA0; # xA0; # xA0; # xA0; Următorul;
# xA0; # xA0; # xA0; # xA0; # xA0; sfârșitul;
# xA0; # xA0; # xA0; # xA0; în cele din urmă
# xA0; # xA0; # xA0; # xA0; # xA0; încercați
# xA0; # xA0; # xA0; # xA0; # xA0; # xA0; GotoBookmark (ABookmark);
# xA0; # xA0; # xA0; # xA0; # xA0; cu excepția
# xA0; # xA0; # xA0; # xA0; # xA0; sfârșitul;
# xA0; # xA0; # xA0; # xA0; # xA0; FreeBookmark (ABookmark);
# xA0; # xA0; # xA0; # xA0; sfârșitul;
# xA0; # xA0; # xA0; în cele din urmă
# xA0; # xA0; # xA0; # xA0; EnableControls;
# xA0; # xA0; # xA0; sfârșitul;
# xA0; # xA0; sfârșitul;
# xA0; sfârșitul;
se încheie;

> dacă începe apoi MultiSelect și DataLink.Active

mulțumesc și DataLink.Active - ce este asta?

și fără să funcționeze, desigur, dar totuși.

12345 # xA0; (27.08.04 14:15) [13]

Dacă sunteți foarte interesat, descărcați și instalați RxLib. Căutați în TRxDBGrid.SelectAll.

multe avantaje față de grila simplă?
și unde îl pot descărca?

multe avantaje față de grila simplă?
și unde îl pot descărca?

multe avantaje față de grila simplă?


unitate
RxDBCtrl
descriere
Componenta TRxDBGrid este destinată, ca și componenta standard TDBGrid, să afișeze datele tabelelor de bază de date sau rezultatele interogărilor într-o formă tabelară. Ca succesor al TDBGrid, componenta TRxDBGrid are toate aceleași proprietăți și metode și, în plus, unele proprietăți care sunt în TDBGrid în secțiunea protejată sunt plasate în secțiunea publică. Acestea sunt proprietăți precum Col, Row, LeftCol, Canvas.

Alte diferențe de la TDBGrid:
- Câmpurile BLOB ale bazei de date, cum ar fi imagini grafice, câmpuri de memorie text, alte BLOB-uri pot fi afișate în tabel sub formă de pictograme cu setarea True a proprietății ShowGlyphs;
- puteți schimba fontul și culoarea de fundal a oricărei celule de tabelă (sau a oricăror rânduri sau coloane), în funcție de valoarea câmpului sau de numele câmpului de seturi de date, prin definirea procesatorului de evenimente OnGetCellParams;

- există metode SaveLayout și RestoreLayout pentru a stoca și a restaura ordinea și lățimea coloanelor componentei TRxDBGrid în fișierul INI (sau în registrul pentru Delphi 2.0). De asemenea, puteți să salvați automat și să restaurați aceste setări atribuind o valoare proprietății IniStorage.
- atât în ​​versiunile pe 32 de biți, cât și pe cele 16 biți ale componentei acceptă selectarea mai multor înregistrări în tabel cu valoarea proprietății MultiSelect = True.

- antetele coloanelor Grid pot fi utilizate cu proprietatea TitleButtons ca butoane, de exemplu, pentru a schimba ordinea de sortare a datelor afișate.
- Puteți bloca primele câteva coloane din Grilă utilizând proprietatea FixedCols.

și unde îl pot descărca?

Memorie: 0,75 MB
Durată: 0.061 sec