AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dbgrid Titel leer

Ein Thema von EG045947 · begonnen am 23. Mai 2022 · letzter Beitrag vom 28. Mai 2022
Antwort Antwort
Seite 2 von 3     12 3      
EG045947

Registriert seit: 23. Mai 2022
13 Beiträge
 
#11

AW: Dbgrid Titel leer

  Alt 23. Mai 2022, 16:06
hmmm, ich habe herumprobiert und es wird immer besser, ich geb gleich auf:

Jetzt kan ich die Titel der Spalten sehen aber nur die 1., 5.6.7.8., etc.
Bei der 2.3.4. ist der Index immer -1 und ich bekomme keinen Wert.

Was ist jetzt dass denn?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#12

AW: Dbgrid Titel leer

  Alt 23. Mai 2022, 16:13
Was ist jetzt dass denn?
Genau das steht in den Sourcen die du uns immer noch vorenthältst!
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
EG045947

Registriert seit: 23. Mai 2022
13 Beiträge
 
#13

AW: Dbgrid Titel leer

  Alt 23. Mai 2022, 17:04
Ich habe eine Access DB und dort mehrere Felder, die ich aber nicht alle in der DBgrid anzeigen möchte. Die Felder die ich ausblende werden woanders angezeigt.
Ziel ist es mit Column.fieldname den order by sql Befehl flexibel zu machen.

Klicke ich auf Nr kommt der Titel.
Art, Baureihe, Epoche und Hersteller gehen nicht. Da ist der Column.Index = -1
Ab Anzahl geht es wieder.
Ich habe auch schon alle Fields mit dem visible = false auskommentiert, dann sehe ich alle Felder, habe aber das Gleiche Problem. Also ist es das Visible=false nicht.
Im edit1.text Feld lasse ich mir den Titel der jeweiligen Spalte nur Anzeigen, zwecks Kontrolle.

Hier der Quell-Text:

procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
FDConnection1.Params.Database:= ProgPath+'database.mdb';
FDConnection1.Params.DriverID:='MSAcc' ;
FDConnection1.Connected:=true;
FDQuery1.SQL.Clear;

FDQuery1.SQL.Add('select Nr, Art, Baureihe, Epoche, Hersteller, Anzahl, Preis, Rocrail, CS3, Eingemessen, Bild, Motor, Dekoder, Artikelnummer, URL, Zusatzinfo, Protokol, Adresse, Dateien, Kaufdatum from TabLoks ');
//FDQuery1.SQL.Add('order by Epoche');


FDQuery1.Active:=true;
FDQuery1.first;
DBGrid1.Columns.State := csDefault;

dbgrid1.Columns[5].Visible:=false;
dbgrid1.Columns[6].Visible:=false;
dbgrid1.Columns[7].Visible:=false;
dbgrid1.Columns[8].Visible:=false;
dbgrid1.Columns[9].Visible:=false;
dbgrid1.Columns[10].Visible:=false;

dbgrid1.Columns[14].Visible:=false;
dbgrid1.Columns[15].Visible:=false;
dbgrid1.Columns[16].Visible:=false;
dbgrid1.Columns[17].Visible:=false;
dbgrid1.Columns[18].Visible:=false;
dbgrid1.Columns[19].Visible:=false;

dbgrid1.Columns[0].Width:=150;
dbgrid1.Columns[1].Width:=150;
dbgrid1.Columns[2].Width:=150;
dbgrid1.Columns[3].Width:=150;
dbgrid1.Columns[4].Width:=150;
dbgrid1.Columns[5].Width:=150;

dbgrid1.Columns[11].Width:=150;
dbgrid1.Columns[12].Width:=150;
dbgrid1.Columns[13].Width:=150;

edit1.Text:=Column.FieldName;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#14

AW: Dbgrid Titel leer

  Alt 23. Mai 2022, 17:18
Das ist definitiv zu viel Code in dem TitleClick Event, der eigentlich nur einmal aufgerufen werden muss. Mach die Abfrage an anderer Stelle und ändere im TitleClick lediglich die Sortierung.
Delphi-Quellcode:
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
  FDQuery1.IndexFieldNames := Column.FieldName;
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
EG045947

Registriert seit: 23. Mai 2022
13 Beiträge
 
#15

AW: Dbgrid Titel leer

  Alt 23. Mai 2022, 17:28
super! Und wie kann ich die Sortierreihenfolge ändern? A-Z und Z-A? ode 1-9 oder 9-1?
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#16

AW: Dbgrid Titel leer

  Alt 23. Mai 2022, 17:43
Hallo EG045947,
Du kannst Deinen Quellcode etwas übersichtlicher formatieren, wenn Du das Delphi-Symbol (= gelber Helm mit dem roten Kamm) vom Menü direkt über dem Editorfenster benutzt. Alternaiv dazu kannst Du den Quellcode zwischen [DELPHI] und [/DELPHI] setzten. Das geht übrigens auch nachträglich, wenn Du Deinen ersten Beitrag editierst. Damit hilfst Du zugleich künftigen Interessenten, die aus Deinem Fall etwas lernen wollen.

Dann ist es auch für uns einfacher, Dir gezielt zu helfen.

Gruß, Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#17

AW: Dbgrid Titel leer

  Alt 23. Mai 2022, 17:56
super! Und wie kann ich die Sortierreihenfolge ändern? A-Z und Z-A? ode 1-9 oder 9-1?
Für Descending Order setzt du einfach ein + ':D' dahinter.
Delphi-Quellcode:
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
  FDQuery1.IndexFieldNames := Column.FieldName + ':D';
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
EG045947

Registriert seit: 23. Mai 2022
13 Beiträge
 
#18

AW: Dbgrid Titel leer

  Alt 23. Mai 2022, 18:05
Super! es geht! Und so was von einfach!
  Mit Zitat antworten Zitat
EG045947

Registriert seit: 23. Mai 2022
13 Beiträge
 
#19

AW: Dbgrid Titel leer

  Alt 28. Mai 2022, 10:30
leider wird nun die Sortierung nicht so schön durchgeführt.
Er zählt jetzt: 1, 10, 12,2, 20, etc.

Gibt es einen Parameter für eine komplette Sortierung? 1,2,3,4,5,6, etc. Abcd...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#20

AW: Dbgrid Titel leer

  Alt 28. Mai 2022, 10:48
Sag nicht, dass der FeldTyp sowas wie string ist.
Für eine Stringsortierung, ist das vollkommen richtig so.

Willst du es numerisch sortiert haben, dann müsstes du z.B. einen Integer als Typen für den Vergleich haben.



Aber da du nicht die nötigen Infos rausrückst, kann dir niemand genauer helfen.
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz