New Items: Combobox wird nicht gefüllt
Monika Lutz
Hallo,ich habe auf dem Geschäftspartner Form zwei Comboboxen vom UDF Form ins Tab Allg. verschoben.
Eine der beiden Comboboxen wird nicht mehr gefüllt.
Dem UDF, dessen Combobox im Tab Allg. nicht gefüllt wird liegt eine Benutzertabelle zugrunde.
Dem UDF, dessen Combobox nach wie vor gefüllt wird, liegt eine Aufzählung zugrunde.
Ich habe versucht eine Query mitzugeben, um die Werte, mit der die Combobox gefüllt werden soll, auszulesen. Leider blieb die Combobox leer.
Auf dem UDF-Form wird die Combobox gefüllt und funktioniert auch richtig.
Weiß jemand, wie ich die Werte in die Combobox bekomme, wenn sie auf dem Tab Allg. angezeigt wird?
Danke Monika
(Hardcopys der Definitionen in der Anlage)
Attachment
[url=http://www.coresystems.ch/wp-content/../wp-content/forum-file-uploads/monika_lutz/Comobox.pdf]Comobox.pdf[/url]
Michael Egloff
Hallo Monika,die Füllung der ComboBoxen war bislang nur möglich mit der Aufzählungsvariante.
In der nächsten Version wird es aber möglich sein, diese auch durch eine Benutzertabelle zu füllen.
Das Feld Query ist nur für TextFelder, um da eine Auswahlliste von möglichen Werten via ChooseFromList anzuzeigen.
Sebastian Schweer
Hallo Michael,ich versuche grade eine ComboBox mit Werten aus einer Spalte einer Tabelle zu befüllen. Leider bekomme ich beim DataBind immer wieder eine Fehlermeldung. Könntest du mir ein einfaches Codebeispiel posten, wie ich eine Combobox mit Werten aus einer Tabelle befülle? Ich kann für diese Aufgabe leider nicht den Wizard benutzen, da noch weiterer Code in dieser Methode ausgeführt werden soll.
Vielen Dank im Voraus,
Sebastian
Michael Egloff
Hallo Sebastian,bitte schreib in Zukunft nicht mehr in geschlossene Threads. Es erleichtert uns das Auffinden von neuen Fragen im Forum.
Hier ein kleines Code-Beispiel. Die Werte '1'-'first' etc. habe ich hier statisch in die Combobox geladen, wenn du Werte von der Datenbank benötigst, dann musst du die auslesen (am Besten mit SqlCommand, kannst im Forum nach einem Beispiel suchen) und dann der ComboBox hinzufügen.
// create form
Form form = Form.CreateNewForm("TEEST", "12345");
// create combobox
ComboBox cb = ComboBox.CreateNew("Cb1");
// add combobox to form
form.AddItem(cb);
// load form
form.Load();
// add values to combobox
cb.ValidValues.Add("1", "first");
cb.ValidValues.Add("2", "second");
cb.ValidValues.Add("3", "third");
Sebastian Schweer
Hallo Michael,danke für die schnelle Rückmeldung. Deine Hinweise werde ich natürlich in Zukunft beachten. Mittlerweile habe ich es zum Glück auch hinbekommen die Combobox mit Werten aus der Datenbank zu füllen. Für alle anderen die ein ähnliches Problem haben poste ich hier einfach noch mal den C# Code:
// Referenzfeld definieren
Item refField = Item.GetFromUID(pVal.Form, "114");
// Combobox definieren
ComboBox addField1 = ComboBox.CreateNew("ComboNeu1");
// Combobox ausrichten
addField1.Top = refField.Top - 20;
addField1.TabOrder = refField.TabOrder + 1;
addField1.Left = refField.Left;
addField1.Width = refField.Width;
addField1.Height = refField.Height;
// Combobox auf die Form hinzufügen
pVal.Form.AddItem(addField1);
pVal.Form.Update();
// Daten für das Combofeld auslesen // Hier werden zwei Spalten ausgelesen
System.Data.SqlClient.SqlCommand cmd1 = new System.Data.SqlClient.SqlCommand();
cmd1.CommandText = "Select Code, Name from dbo.[Tabellenname] order by Code";
using (System.Data.SqlClient.SqlDataReader sdr = SwissAddonFramework.B1Connector.GetB1Connector().ExecuteQuery(cmd1))
{
while(sdr.Read())
{
string text0 = sdr.GetString(0).ToString();
string text1 = sdr.GetString(1).ToString();
addField1.ValidValues.Add(text0, text1);
}
}
0
Please sign in to leave a comment.
Comments
0 comments