![]() |
Mal alle Felder anzeigen, mal nur bestimmte
Hi zusammen...Folgendes:
Hab 2 Listbox und ein DBGrid In ListboxTable stehen alle Tabellen einer DB und in ListBoxFelder alle Felder der Tabelle, die in ListBoxTable ausgewählt und im DBGrid der Inhalt der Tabelle. Wenn ich jetzt auf ein Item in ListBoxFelder klicke, springt das DBGrid zu dem ausgewählten Feld. So:
Delphi-Quellcode:
Unter der ListBoxFelder hab ich dann noch ne CheckBox (CheckBoxFelderVergl). Wenn die aktiviert ist kann man in ListBoxFelder mehre Felder auswählen. Wenn man welche auswählt, will ich das nur die ausgewählten im DBGrid erscheinen. Hier mal mein Versuch, der aber leider nicht klappt:
if DS.DataSet = Tab then
DBGrid.SelectedField := Tab.FieldByName(ListBoxFelder.Items[ListBoxFelder.Itemindex]); if DS.DataSet = Query then DBGrid.SelectedField := Query.FieldByName(ListBoxFelder.Items[ListBoxFelder.Itemindex]);
Delphi-Quellcode:
Leider passt das noch nicht so ganz. Der löscht leider nicht die vorhandenen Columns, sondern packt die neuen hinten dran. Wie kann ich die vorhandenen Colums vorher löschen? So das immer nur die angezeigt werden, die auch ausgewählt worden sind?????
procedure TDB_Frame.ListBoxFelderClick(Sender: TObject);
var i,j:Integer; begin if CheckBoxFelderVergl.Checked = True then begin j := 0; for i := 0 to ListBoxFelder.Items.Count - 1 do begin if ListBoxFelder.Selected[i] = True then begin DBGrid.Columns[j].FieldName := ListBoxFelder.Items[i]; Inc(j); end; // if ListBoxFelder.Selected[i] = True then end; // for i := 0 to ListBoxFelder.Items.Count do end else // if CheckBoxFelderVergl.Checked = True then begin if DS.DataSet = Tab then DBGrid.SelectedField := Tab.FieldByName(ListBoxFelder.Items[ListBoxFelder.Itemindex]); if DS.DataSet = Query then DBGrid.SelectedField := Query.FieldByName(ListBoxFelder.Items[ListBoxFelder.Itemindex]); end; // if CheckBoxFelderVergl.Checked = True then end; |
Re: Mal alle Felder anzeigen, mal nur bestimmte
Hallo General2003,
du solltest einfach die Eigenschaft Visible der TField Objekte nutzen:
Delphi-Quellcode:
for i := 0 to ListBoxFelder.Items.Count - 1 do
DS.DataSet.Fields[i].Visible := ListBoxFelder.Selected[i]; |
Re: Mal alle Felder anzeigen, mal nur bestimmte
Danke. Klappt 1A..Leider kann der User die Listbox sortiern --> Falsche Felder werden angezeigt
|
Re: Mal alle Felder anzeigen, mal nur bestimmte
Zitat:
Delphi-Quellcode:
for i := 0 to ListBoxFelder.Items.Count - 1 do
DS.DataSet.FieldByName(ListBoxFelder.Items[i]).Visible := ListBoxFelder.Selected[i]; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz