Problem with add Folder to BP
Tom Verkerk
Hello,I'm trying to run a SQL Query in C# to create a Register in a BP form but I have a problem with the WHERE statement. (See attachement nothing is filled in.
The script is as follows:
/*
This Code add a Folder to a System From (SalesOrder) with a Grid
*/
SwissAddonFramework.UI.Components.Folder f1 = SwissAddonFramework.UI.Components.Folder.CreateNew("COR_F1");
f1.Top=80;f1.Width=140;f1.Left=10;f1.Height=14;f1.Pane=76;
f1.Value = "PasswordDoc";
f1.Description = "PasswordDoc";
f1.AffectsFormMode = false;
SwissAddonFramework.UI.Components.Grid grid = SwissAddonFramework.UI.Components.Grid.CreateNew("COR_Grd1");
grid.FromPane = 98;
grid.ToPane = 98;
grid.SetSizeAndPosition(SwissAddonFramework.UI.Components.Matrix.GetFromUID(pVal.Form,"136"));
// REGISTER AUF FORM LADEN UND GRUPPIEREN
pVal.Form.AddItem(f1);
pVal.Form.AddItem(grid);
pVal.Form.Update();
f1.GroupWith("9");
//f1.AddHandler_Click(SwissAddonFramework.UI.Components.ModeComponent.FormModes.ALL, new SwissAddonFramework.UI.EventHandling.ItemEvents.ClickEventHandler(delegate(SwissAddonFramework.UI.EventHandling.ItemEvents.Click eventVal) {
// WENN MAN AUFS REGISTER KLICKT, DANN MUSS DAS PANELEVEL "VON HAND" GESETZT WERDEN
SwissAddonFramework.UI.EventHandling.ItemEvents.ClickEventHandler delFolder = null;
delFolder = delegate (SwissAddonFramework.UI.EventHandling.ItemEvents.Click ev)
{
ev.Form.PaneLevel = 98;
};
((SwissAddonFramework.UI.Components.Folder)pVal.Form.Items["COR_F1"]).AddHandler_Click(SwissAddonFramework.UI.Components.ModeComponent.FormModes.ALL, delFolder);
pVal.Form.Freeze(true);
// Query to Select the Purchase Order based on the Sales Order
string query = @"SELECT CAST(T0.U_OPWD_Num As VarChar(10)) As Formulier, T0.DocEntry, T0.U_OPWD_Num, T0.U_OPWD_NM, T1.U_PWD_Tit, T1.U_PWD_Tel
FROM [dbo].[@1_SUPPORTDOC] T0
INNER JOIN [dbo].[@1_SUPPORTREGELS] T1 ON T0.DocEntry = T1.DocEntry
WHERE T0.U_OPWD_Num = '" + TextEdit.GetFromUID(pVal.Form,"5").Value + "'" ;
//ev.Form.PaneLevel=98;
grid.ExecuteQuery(query);
grid.Columns["DocEntry"].Type = GridColumn.Types.TextEdit;
TextEditGridColumn tTyp;
tTyp = (TextEditGridColumn)grid.Columns["DocEntry"].SpecificGridColumn;
//tTyp.LinkObjectType = "22";
grid.Columns["Formulier"].Width = 120;
grid.CollapseLevel = 1;
grid.AffectsFormMode = false;
pVal.Form.Freeze(false);
;
return true;
When I change '" + TextEdit.GetFromUID(pVal.Form,"5").Value + "'" with '1000038' a correct CardCode then it works fine.
Kind Regards
Tom Verkerk
Attachment
[url=http://www.coresystems.ch/wp-content/../wp-content/forum-image-uploads/t-verkerkdotcombusiness-nl/BP-Form.JPG]BP-Form.JPG[/url]
Michael Egloff
Hello Tom,could it be that at the moment, when this script is running, that the field BP is emtpy?
Try this:
MessageBox.Show("BP value: " + TextEdit.GetFromUID(pVal.Form,"5").Value, "OK");after the query defintion. Then you'll get a MessageBox with the value.
Hope this helps!
Michael
Tom Verkerk
Hello Michael,This was a good tip, I had set a setting wrong.
The handling type was set on FormLoad.
Now I have changed this to FormDataLoad and it works now.
Vielen dank
Tom Verkerk
0
Please sign in to leave a comment.
Comments
0 comments