maison
Top.Mail.Ru Yandeks.Metrika
Forum: "Bases";
Archive actuelle: 2004.12.12;
Télécharger: [xml.tar.bz2];

vers le bas

Encore une fois à propos du jeu de données du numéro d’enregistrement a dans onDrawColumnCell DBGrid a Trouver des branches similaires


SergP ©   (2004-11-10 09:12) [0]

Une branche similaire existait déjà, mais comme il s’est avéré plus tard, ses objectifs n’ont pas été atteints.
Le fait est que vous devez créer une colonne dans la grille dans laquelle le numéro d'enregistrement de la grille ou du jeu de données serait affiché.

procédure TForm3.DBGridEh1DrawColumnCell (Sender: TObject;
const Rect: TRect; DataCol: Integer; Colonne: TColumnEh;
Etat: TGridDrawState);
var
i: entier;
commencer
i: = TDBGridEh (expéditeur) .DataSource.DataSet.RecNo;
si datacol = 0, alors TDBGridEh (expéditeur) .Canvas.TextOut (Rect.Left + 2, Rect.Top + 2, inttostr (i));
fin;

Si vous faites cela, tout semble fonctionner, mais lorsque vous transférez le jeu de données en mode Insertion, un effet désagréable se produit: Dans toutes les lignes de la colonne souhaitée, "-1" est affiché.

Si vous faites comme on m'a proposé dans la branche précédente, c'est-à-dire utiliser
TMyGrid (expéditeur) .datalink.ActiveRecord
(en même temps, déclarer dans le même module TMyGrid le successeur de TDBGrid (dans mon cas, TDbGridEh, mais peu importe))
alors tout semble bien fonctionner au début, jusqu'à ce que le nombre d'enregistrements dépasse ce qui peut être affiché en même temps, après quoi des choses désagréables commencent à se produire lors du défilement, car TMyGrid (expéditeur) .datalink.ActiveRecord ne renvoie pas un numéro de ligne absolu dans grid et relative (par rapport au premier enregistrement de jeu de données affiché).

Qui peut suggérer une solution à ce problème?



stud ©   (2004-11-10 12:37) [1]

et le sens d'une telle opération?



Johnmen ©   (2004-11-10 12:52) [2]

Entrez un champ calculé dont la valeur est RecNo. Alors ne dessine pas toi-même ...
Et le sens n'est vraiment pas clair ...



SergP ©   (2004-11-10 21:08) [3]


> Plot [1] © (10.11.04 12: 37)
> et le sens d'une telle opération?


Ne vous inquiétez pas du sens. Il est ...


> [2] Johnmen © (10.11.04 12: 52)
> Entrez un champ calculé dont la valeur est RecNo.


Et un exemple est comment obtenir un tel champ? I.e. Je ne sais pas comment faire un champ calculé, dont la valeur est RecNo.



Johnmen ©   (2004-11-10 21:41) [4]

Champ calculé dans un jeu de données.
Dans l'événement OnCalcFields - DataSet ["YourCalcFieldName"]: = DataSet.RecNo;



Pages: 1 branche entière

Forum: "Bases";
Archive actuelle: 2004.12.12;
Télécharger: [xml.tar.bz2];

à l'étage





Mémoire: 0.56 MB
Heure: 0.05 c
1-1101750137
Davinchi
2004-11-29 20:42
2004.12.12
PChar TO String


3-1100079486
} | {yk
2004-11-10 12:38
2004.12.12
Consolidation de données


3-1100156376
Frère
2004-11-11 09:59
2004.12.12
Vérifier l'existence d'une table


1-1101746383
Df
2004-11-29 19:39
2004.12.12
si, alors, sur RichEdit


3-1100507302
Décès
2004-11-15 11:28
2004.12.12
DBGrid. Afficher les données dans les champs





afrikaans albanais Arabic arménien azerbaïdjanais basque Biélorusse Bulgare catalan Chinois simplifié) Chinois (traditionnel) croate Tchèque Danois Néerlandais Anglais estonien Filipino Finlandais Français
galicien géorgien Allemand Grecque Créole haïtien hébreu Hindi Hongrois Islandais Indonesian irlandais Italien Japonais Coréen letton lituanien macédonien Malay maltais Norvégien
persan Polonais Portugais Roumain Russe serbe Slovaque Slovène Espagnol Swahili Suédois Thai turc ukrainien Urdu vietnamien gallois yiddish bengali bosniaque
Cebuano espéranto gujarati Hause hmong Igbo Javanais Kannada Khmer lao latin maori Marathi mongol népalais punjabi somali tamil telugu yoruba
zoulou
Английский Français Allemand Italien Португальский Русский Espagnol