ComboBox in Grid
Rafael Stalder
Hallo Zusammen,ich möchte via Code ein selber erstelltes Grid bearbeiten und dort eine zusätzliche Spalte einfügen, die ich mit Feldern vom Typ ComboBox versehe.
Jedesmal wenn sich die Form lädt erscheint aber eine Fehlermeldung.
Hier mein Code:
Form frm_inaktiv = Form.GetFormFromUID("1109200804");
Grid grid = Grid.GetFromUID(frm_inaktiv, "grid");
grid.ExecuteQuery("SELECT Code, U_BAUNR, U_BAUBEZ, U_AKTIV FROM [@DAU_BAUSTELLEN] where U_AKTIV = '0'");
grid.Columns["Code"].Editable = false;
grid.Columns["U_BAUNR"].Editable = false;
grid.Columns["U_BAUBEZ"].Editable = false;
SwissAddonFramework.UI.Components.DataColumn newCol = SwissAddonFramework.UI.Components.DataColumn.CreateNew("001122");
newCol.Type = SwissAddonFramework.UI.Components.DataColumn.DataColumnTypes.Integer;
grid.DataTable.Columns.Add(newCol);
grid.Columns["new"].Type = GridColumn.Types.ComboBox;
grid.AutoResizeColumns();
grid.Update();
Im Anhang noch die Fehlermeldung...
Gruss Rafael
Attachment
[url=http://www.coresystems.ch/wp-content/../wp-content/forum-image-uploads/rafaelstalder/Unbenannt-1.jpg]Unbenannt-1.jpg[/url]
Michael Egloff
Hallo Rafael,versuch doch die Spalte schon bei der Ausführung der Query zu erstellen, etwa so:
Form frm_inaktiv = Form.GetFormFromUID("1109200804");
Grid grid = Grid.GetFromUID(frm_inaktiv, "grid");
grid.ExecuteQuery("SELECT Code, U_BAUNR, U_BAUBEZ, U_AKTIV, '' AS 'NewColumn' FROM [@DAU_BAUSTELLEN] where U_AKTIV = '0'");
grid.Columns["Code"].Editable = false;
grid.Columns["U_BAUNR"].Editable = false;
grid.Columns["U_BAUBEZ"].Editable = false;
grid.Columns["NewColumn"].Type = GridColumn.Types.ComboBox;
grid.AutoResizeColumns();
grid.Update();Rafael Stalder
Hallo Michael,hm. verstehen nicht ganz wie du das meinst.
Meine Spalte wird ja schon bei der Ausführung des Querys erstellt?
Gruss Rafael
Michael Egloff
Die Fehlermeldung von SAP besagt, dass du keine Spalte hinzufügen kannst, wenn das Grid schon geladen ist. Bei dir sieht der Ablauf wie folgt aus:1) Hole Form
2) Hole Grid
3) Lade Grid mit Werten (Spalten werden erstellt)
4) Füge Spalte hinzu -> Das funktioniert nicht, da das Grid schon geladen ist.
Wenn du aber die Spalte schon im Schritt 3 hinzufügst, dann gehts.
Gruss
Rafael Stalder
Hallo Michael,danke, das hat vorerst funktioniert.
Gruss Rafael
0
Please sign in to leave a comment.
Comments
0 comments