![]() |
ComboBox liest nicht aus StringGrid
Hallo Leute!
Bin dabei eine kleine Datenbank zu schreiben. Man soll Datensätze per Dialog hinzufügen und bearbeiten können. Beim Bearbeiten will ich, dass er die Datensätze mit Nummer und Name in eine Combobox schmeißt und die dann zur Auswahl stellt hierzu gibt es folgenden kleinen
Code:
Das Problem dabei ist, dass er aus irgendeinem unerfindlichen Grund die Einträge in der StringGrid nicht erkennt obwohl sie vorhanden sind. D.h. im Klartext: starte ich das Programm erzeuge ein Paar Einträge und Klicke dann auf Bearbeiten, so erscheint in der ComboBox nur
procedure TForm3.FormCreate(Sender: TObject);
var i: integer; begin with form1.StringGrid1 do begin for i:=1 to RowCount-1 do begin combobox1.Items.add(Cells[0,i]+' - '+cells[1,i]); end; combobox1.ItemIndex:=0; end; end; [leer] - [leer] Was soll das? Kann mir das bitte mal jemand erklären oder hab ich in meinem Übermut einfach nur was übersehen? KeeN |
Moin Keen,
steht im Form Create denn überhaupt schon was im StringGrid drin? ggf. geh' doch mal im SingleStep durch und schau Dir mal an, was in i bzw. RowCount steht. |
Also im FormCreate des TForm1 steht etwas zu dieser StringGrid. Und zwar die Einträge für die FixedRows. Wenn man auf den Button "Hinzufügen" klickt , dann kann man neue Einträge für die StringGrid schreiben, diese Einträge werden dann auch ordnungsgemäß abgelegt soll heißen ich kann sie in der StringGrid sehen.
Kann es sein, dass das irgendwie mit den unterschiedlichen Formularen zusammenhängt? KeeN |
Moin Keen,
ab wann stehen denn die Einträge im StringGrid, die in die ComboBox sollen? |
ahm wie bereits geschrieben, sobald ich welche über den Button "Hinzufügen" eingtragen habe.
|
Moin Keen,
solltest Du das Form3 nicht dynamisch erzeugen, kann es auch nicht funktionieren. Das OnCreate Ereignis wird ausgelöst, wenn das Formular erzeugt wird. Dies findet standardmässig aber schon statt, bevor das Programm eigentlich gestartet wird (vor Application.Run) Das Füllen der ComboBox gehört also besser in das OnShow Ereignis. Dies wird jedesmal aufgerufen, wenn das Formular angezeigt wird. |
Ok alles klar jetzt funzt es :) vielen Dank!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:41 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