Obejct Typ vom Abo für Zugriff über Link Pfeil
Michael Hubenschmid
Hallo,habe bei einem Kunden die Aufgabe einen Funktionsbutton im GP Stamm zu erstellen über den er ein Grid mit den aktiven Abos angezeigt bekommt. Dort möchte er dann über einen Link Button ins Abo gelangen können.
Habe so etwas schon für Service Abrufe gemacht. Jedoch fehlt mir beim Abo ein Object Typ auf das ich beim Link verweisen kann. Wie kann ich dies trotzdem lösen.
Hier der bisherige Code:
try
{
string cardCode = SwissAddonFramework.UI.Components.TextEdit.GetFromUID(pVal.Form, "5").Value;
// GRID, WILL CONTAIN THE VALUES TO DISPLAY
SwissAddonFramework.UI.Components.Grid grid = SwissAddonFramework.UI.Components.Grid.CreateNew("MTF_ABO1");
grid.Width = 580;grid.Height = 260; grid.Top = 5; grid.Left = 5;
// SAP FORM, WILL CONTAIN THE GRID
SwissAddonFramework.UI.Components.Form form = SwissAddonFramework.UI.Components.Form.CreateNewForm("MTF_CUS_BPABOS", "MTF_CUS_BPABOS" + SwissAddonFramework.Utils.UniqueStringGenerator.Next());
form.Height = 300; form.Width = 600; form.Top = pVal.Form.Top; form.Left = pVal.Form.Left;
form.Value = "Aktuelle Abonnomente zu Kunde: " + cardCode;
// ADD GRID TO THE FORM
form.AddItem(grid);
// LOAD FORM
form.Load();
// YOUR QUERY
string query= @"SELECT T0.Code as 'Abo-Nr',
T0.U_Subj as 'Abo-Thema',
T1.U_Name as 'Kategorie',
T0.U_FDate as 'Startdatum',
CASE WHEN T0.[U_NoEnd] = 'Y' Then NULL ELSE T0.U_TDate End as 'Enddatum'
FROM [dbo].[@SWA_CT_SUBSCR]T0
LEFT OUTER JOIN [dbo].[@SWA_CT_SUBSCR_CAT]T1 ON T0.[U_CatCode] = T1.[Code]
WHERE T0.U_SubStatus = 'o' AND T0.U_CardCode ='" + cardCode.ToString() + "'";
// ATTACH QUERY TO GRID
grid.ExecuteQuery(query);
grid.Columns["Abo-Nr"].Type = GridColumn.Types.TextEdit;
TextEditGridColumn tTyp;
tTyp = (TextEditGridColumn)grid.Columns["Abo-Nr"].SpecificGridColumn;
tTyp .LinkObjectType = "191"; // Hier müsste ein ObjectTyp des Abonnomentes angegeben werden können.
// SET COLUMNS NON EDITABLE (DISPLAY ONLY)
grid.Columns["Abo-Nr"].Editable = false;
grid.Columns["Abo-Thema"].Editable = false;
grid.Columns["Kategorie"].Editable = false;
grid.Columns["Startdatum"].Editable = false;
grid.Columns["Enddatum"].Editable = false;
grid.CollapseLevel = 0;
}
catch(System.Exception ex)
{
SwissAddonFramework.UI.Dialogs.MessageBox.Show("Unexpected error happend while trying to display the values of the query!n" + ex.Message, "OK");
}
Danke für die Hilfe
Adrian Meier
Hallo MichaelDu musst den Before-Event des Linkpfeils beim Mausklick abfangen und folgenden Code aufrufen:
SWA_CT.View.FormObjects.FormObject.ShowObject(new SWA_CT.Logic.DTO.Subscription("Code des Abonnementes"));
HTH, Adrian
Michael Hubenschmid
Hallo Adrian,merci für deinen Tip, kannst du mir vieleicht noch sagen wie und wo ich den Add_Handler einbauen muss auf den Pfeil Click.
Kann ich das in der selben Regel machen oder muss ich eine 2. Regel erstellen.
Merci.
Michael Hubenschmid
Hallo Adrian.Habe das Ganze mal über eine extra Optimizer Rule versucht.
Den Event bekomme ich über jedoch erhalte ich dann eine Fehlermeldung (siehe Anhang).
Bekomme die gleiche Fehlermeldung auch wenn ich die ABO Variable in deinem Code nicht in Gänsefüsschen setze.
Attachment
[url=http://www.coresystems.ch/wp-content/../wp-content/forum-image-uploads/hum2006/SubscriptionLinkRule.jpg]SubscriptionLinkRule.jpg[/url]
Adrian Meier
Hallo MichaelLass bei der aboNr im Aufruf die Hochkommas weg.
HTH, Adrian
0
Please sign in to leave a comment.
Comments
0 comments