27. december 2011 - 13:19Der er
7 kommentarer og 1 løsning
Combobox og ADOQuery
Hej,
Jeg fylder en combobox på følgende måde:
for i:=0 to ADOQuery1.RecordCount-1 do begin combobox1.Items.AddObject('ProduktionsOrdreNummer ' + ADOQuery1.FieldByName('SalesProj').AsString, TOBject(ADOQuery1.FieldByName('SalesProj').AsString)); ADOQuery1.next; end;
combobox1.ItemIndex := 0;
dernæst bruger jeg comboboxchange til at finde ProduktionsOrdreNummeret:
procedure TForm10.ComboBox1Change(Sender: TObject); begin
Når jeg vælger et emne fra combobox'en så vil jeg gerne have et unikt tal. Altså, lige som TstringList - der er altså tilknyttet en value til hvert name og index.
Altså; hvordan jeg ellers tilføje en række records bestående af "Names/Values" til et combobox object?
Og hvordan får jeg efterfølgende hente "Value" ud fra combobox.itemindex ?
Den værdi der er i den valgte værdi kan jo fåes ved ComboBox1.Items.Strings[ComboBox1.ItemIndex], men jeg forstår ikke hvorfor du har foranstillet 'ProduktionsOrdreNummer '
Du skal nok oprette et TObject for hver string i din ComboBox og i denne kan du så f.eks. definere en Recnr : integer eller en anden unik ID for din data post. Husk at du selv skal slette alle dine TObject, fra hjælpen: The TStringList object does not own the objects you add this way. Objects added to the TStringList object still exist even if the TStringList instance is destroyed. They must be explicitly destroyed by the application.
Jeg ville simpelhen oprette en stringlist som kunne indeholde dit varenummer, da det jo ikke nødvendigvis skal vises når man vælger varen i combobox'en men mere skal bruges til at arbejde videre med dit valg
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.