Dbgrid atribuie o valoare coloanei

DBgrid atribuie o valoare coloanei

Este necesar ca, în anumite condiții, coloanele specifice ale dbgride să fie completate cu aceleași date. Nu știu cum să mă refer la celula specifică a lui Dvigrid?








> Nu știu cum să mă refer la celula specifică a lui Dvigrid

Hei tu, o celulă specifică de Dvigrid, bine - umple repede!

DBGrid în sine nu conține date. Datele sunt conținute în DataSet și DBGrid le afișează, astfel încât nu este necesar să umpleți celula DBGrid cu date, ci câmpul DataSet, de exemplu, cu instrucțiunea UPDATE SQL.

În 99,9% din cazuri aceasta este o abordare incorectă a construirii unui sistem. Mai degrabă, este abordarea "Exil". Nu scoateți și nu curățați nimic. Trebuie să adăugați intrări noi.

PS: Dacă aceasta este completarea unui card de raport, atunci sunteți o dubechnitsa.

"Ariciul a lovit, dar a continuat să continue pe cactus" :)
Tastați încă un card de raport?

1. Dacă doriți doar să împiedicați introducerea unor coloane, atunci este suficient să puneți ReadOnly în TField, la care se referă aceste coloane. Dacă doriți să le fixați (de ex., Nu este scos din ecran atunci când horiz.scrolling), atunci trebuie fie să "subcamplați" grila prin strămoșul său. sau utilizați TStringGrid, dar cu o altă tehnologie de schimbat cu baza de date







2. Curățați coloanele necesare ale grilajului prin ștergerea câmpului corespunzător al setului de date, "trecând prin" toate înregistrările acestuia. De exemplu, aceasta:

procedura TForm1.InitTabel;
începe
# xA0; cu DBGrid1.DataSource.DataSet face
# xA0; # xA0; începeți
# xA0; # xA0; DisableControl; # xA0; // Pentru a evita clipeala
# xA0; # xA0; În primul rând;
# xA0; # xA0; în timp ce nu eof face
# xA0; # xA0; # xA0; începe
# xA0; # xA0; # xA0; # xA0; FieldByName ("Field1") AsString: = "";
# xA0; # xA0; # xA0; # xA0; FieldByName ("Field2") AsString: = "";
# xA0; # xA0; # xA0; # xA0;.
# xA0; # xA0; # xA0; se încheie;
# xA0; # xA0; În primul rând;
# xA0; # xA0; EnableControl;
# xA0; se încheie;
se încheie;

Cu toate acestea, această tehnologie este plină de apeluri inutile la baza de date.

Ne pare rău, în ciclul de care aveți nevoie pentru a adăuga două linii:

Editați la început și postați la sfârșit

Da, și ca urmare a pierderii datelor din setul de date?


> Nu.

Ie DBGrid1.DataSource.DataSet și Real DataSet în acest caz sunt lucruri diferite?

Memorie: 0,75 MB
Timp: 0.032 sec







Trimiteți-le prietenilor: