c'est un peut bête mais je n'arrive pas a enlever la ligne vide dans la dbgrid quand la table et vide ?
c'est un peut bête mais je n'arrive pas a enlever la ligne vide dans la dbgrid quand la table et vide ?
Tout bêtement je dirais un delete sans clause where
Ou encore truncate
Code : Sélectionner tout - Visualiser dans une fenêtre à part DELETE FROM matable
En passant, je suis persuadé que ce sujet à déjà été abordé dans ce même forum et que google de donne la solution avec les mots "SQL + Vider Table"
Code : Sélectionner tout - Visualiser dans une fenêtre à part TRUNCATE TABLE matable
mais c'est justement après un delete from matable que j'ai cette ligne vide dans le dbgrid ,c'est pas comment vidé une table mais comment enlever la ligne vide dans le dbgrid après avoir vidé la table ,,
et oui j'ai cherche dans google et ici peut être j'ai pas utilisé les bons arguments mais j'ai pas trouver
Peut être parce que la table affichée n'est pas en readonly ?
a vrai dire je n'ai jamais fait attention a ça , utilisé smdbgrid pourrait être aussi une alternative (elle affiche <pas de données> si la table est vide)
Peut pas, Na !!
Plus sérieusement, quand l'ensemble de données est ouvert est vide, la ligne vide est toujours affichée.
Tentes de déconnecter la datasource du dbgrid ou de fermer l'ensemble de données, mais cela j'en suis plus trop sûr.
@+
L'explication vient sans doute de la possibilité d'auto-édition (propriété AutoEdit de la DataSource), en effet dans ce cas si tu veux insérer un nouvel enregistrement il faut bien avoir une ligne pour saisir.
Ceci dit je n'encourage pas la saisie directe dans un DBGrid, c'est aps pratique pour contrôler les données.
@++
non le DBGrid et on lecture seul dans mon application ,, et je crois quand ne peut pas enlevé cette ligne vide car même sans table juste on pause un DBGrid sur une forme i l y a cette ligne vide
j'ai essayé avec les option de la DBGrid j'ai mis les dgRowline et dgCollines a false quand la table et vide elle a bien disparue mais celle du titre aussi !!
mais DBgrid est 'hackable' donc rien n'empêche de dessiner sur son canvas
j'ai fais un test rapide et pas beau , reste a :définir le Rectangle[Edit] j'ai initialisé le rectangle reste à calculé la position du texte
pour faire réapparaitre : DBGrid1.repaint
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 ... type THackDBGrid = class(TDBGrid); var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.BitBtn1Click(Sender: TObject); var Arect : TRect; TopCentre,LeftCentre : Integer; begin if DBGrid1.DataSource=nil then /// remplacable par un recordcount=0 ;) begin ARect.Top:=THackDbGrid(DBGrid1).DefaultRowHeight+THackDbGrid(DBGrid1).GridLineWidth; ARect.Left:=THackDbGrid(DBGrid1).ColWidths[0]+THackDbGrid(DBGrid1).GridLineWidth; // ARect.Right:=DBgrid1.Width; ARect.Bottom:=DBGrid1.Height; TopCentre:=20; LeftCentre:=40; THackDBGrid(DBGrid1).canvas.TextRect(ARect,TopCentre,leftCentre,'Vide'); end; end;
Petite question : ton type THackDBGrid est juste là pour donner accès à des membres protégés, c'est ça ?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager