LinkedObjectType in Grid
Rafael Stalder
Hallo zusammengibt es eine Möglichkeit, mehrer LinkedObjectTypes im selben Grid zu haben.
Beim initialisieren des Grids ist nämlich nur eine Angabe möglich, welche danach statisch und nicht mehr änderbar ist:
Grid mygrid = Grid.GetFromUID(form, mygridID);
mygrid .ExecuteQuery("Select....");
mygrid .AutoResizeColumns();
mygrid .Enabled = false;
TextEditGridColumn tDocEntry = (TextEditGridColumn)g_Allgemein.Columns["DocEntry"].SpecificGridColumn;
tDocEntry.LinkedObjectType= 15;
Gruss Rafael
Michael Egloff
Hallo Rafael,du kannst nur einmal den LinkedObjectType für eine Spalte definieren. Aber du kannst natürlich den Klick auf den oragen Pfeil abfangen und selber Dokumente öffnen, so wie du willst.
Gruss Michael
Rafael Stalder
Hallo Michaelschade dass das so nicht möglich ist.
Gibt es vielleicht ein Beispiel dazu, wie ich diesen Event abfangen kann bzw. wie ich dann z.B. den Kundenauftrag mit der Nr XXX öffnen kann (die Nr die im Grid steht).
Gruss Rafael
Michael Egloff
Hallo Rafael,du musst auf der Spalte den LinkedPressed Event abfangen
grid.Columns[""].AddHandler_LinkPressed(ModeComponent.FormModes.ALL, beforeEvent, afterEvent);
Danach kannst du mit der DocEntry und dem Typ das Dokument so aufrufen:
Form.OpenFormByKey("objectType", "key");Rafael Stalder
Hallo Michael,hab es so ähnlich gelöst.
DoubleClick Event auf die Gridzeile abgefangen danach die DocEntry aus der Spalte ausgelesen.
Danach die Form.OpenByKey() Methode.
Hat geklappt!
Danke.
0
-
Hallo Ihr 2,
ich hoffe hier lebt noch jemand.
Ich habe das versucht was ihr hier erläutert habt.
Ich habe in einer Form ein Grid mit Spalte AbsEntry und BinCode.
Die Spalte AbsEntry blende ich aus . Ich will aber im Bin Code einen goldenen Pfiel haben und dann die Lagerplatz-Stammdaten öffnen.
TextEditGridColumn tBinCode = (TextEditGridColumn) grid.Columns["BinCode"].SpecificGridColumn; tBinCode.LinkObjectType = "10000206"; SwissAddonFramework.UI.EventHandling.ItemEvents.LinkPressedEventHandler pressedHandler = null; pressedHandler = delegate(SwissAddonFramework.UI.EventHandling.ItemEvents.LinkPressed evLP) { try { Form.OpenFormByKey("10000206", grid.GetValue("AbsEntry", evLP.Row).ToString()); } catch(System.Exception exe4) { StatusBar.WriteError("Something goes wrong: " + exe4.Message); } }; grid.Columns["BinCode"].AddHandler_LinkPressed(ModeComponent.FormModes.ALL, pressedHandler);Damit ich den Pfeil bekomme setze ich ich bei tBinCode das Objekt.
Das delegate geht auch, aber….
Jetzt wird mir das Fenster von den Lagerplatz-Stammdaten 2x geöffnet
Grüße Lothar
0
Please sign in to leave a comment.
Comments
1 comment