AddHandler_Load

Roland Gerweck

Hallo Marco,

Ich benötige einen Lstener in einer Standardforms der mir meinen User-Def. Button je nach Dokumentstatus aktiviert bzw. deaktviert:

Ich versuche folgendes als Listener:


Der form.AddHandler_Load geht nicht . Ich bekomme Compilierfehler , warum ???


form.AddHandler_Load(ModeComponent.FormModes.ALL, null, ButtonPruefen);
}


public void ButtonErstellen()
{

btn.Value = "LS-Generierung";
btn.Width = 100;
btn.Left = 180;
btn.Top = 366;
btn.Height = 19;
form.AddItem(btn);
btn.AddHandler_ItemPressed(ModeComponent.FormModes.ALL, DelNoteErstellen);
form.Update();

}

public void ButtonPruefen()
{
string comm = TextEdit.GetFromUID(form, "6").Value;
if (comm != "")
{
int picknr = int.Parse(comm);
string status = "";
string queryt = "SELECT Status from OPKL WHERE AbsEntry = " + picknr;
using (System.Data.SqlClient.SqlDataReader sqlReadert = SwissAddonFramework.B1Connector.GetB1Connector().ExecuteQuery(queryt))
{
if (sqlReadert.Read())
{
status = sqlReadert.GetString(0);
}

}
if (status == "C")
btn.Enabled = false;
else
btn.Enabled = true;
}
}

Marco Schweighauser

Hallo Roland,

die Eventmethode müsste folgende Parameterdefinition besitzen:


public void ButtonPruefen(SwissAddonFramework.UI.EventHandling.ItemEvents.FormLoad ev)
{
}

Roland Gerweck

Für den DataLoad aus dem Standard-SDK hat dieses nun so gut funktioniert:





SwissAddonFramework.B1Connector.GetB1Connector().Application.FormDataEvent += new SAPbouiCOM._IApplicationEvents_FormDataEventEventHandler(Application_FormDataEvent);
MenuItem.GetFromUID("1281").AddHandler_Click(ButtonPruefen, ButtonPruefen);
MenuItem.GetFromUID("1290").AddHandler_Click(null, ButtonPruefen);
MenuItem.GetFromUID("1288").AddHandler_Click(null, ButtonPruefen);
MenuItem.GetFromUID("1289").AddHandler_Click(null, ButtonPruefen);
MenuItem.GetFromUID("1291").AddHandler_Click(null, ButtonPruefen);

}

void Application_FormDataEvent(ref SAPbouiCOM.BusinessObjectInfo BusinessObjectInfo, out bool BubbleEvent)
{
string comm = TextEdit.GetFromUID(form, "6").Value;
if (comm != "")
{
int picknr = int.Parse(comm);
string status = "";
string queryt = "SELECT Status from OPKL WHERE AbsEntry = " + picknr;
using (System.Data.SqlClient.SqlDataReader sqlReadert = SwissAddonFramework.B1Connector.GetB1Connector().ExecuteQuery(queryt))
{
if (sqlReadert.Read())
{
status = sqlReadert.GetString(0);
}

}
if (status == "C")
btn.Enabled = false;
else
btn.Enabled = true;
}
BubbleEvent = true;
}





Danke Marco !

PS: Ich freue mich trotzdem auf Dein Update in der Form-Klasse im Framework nächste Woche dazu.
0

Comments

0 comments

Please sign in to leave a comment.

Didn't find what you were looking for?

New post