Rechtsklick Suche, selektierten Datensatz zurückschreiben

Matthias Klessing

Hallo,


 


 


die Idee ist über eine Rechtsklick-Suchfunktion einen Artikel aus einer Liste zu selektieren und den Artikel als neue Zeile z.B. der "Bestellungs"-Form (142) hinzuzufügen. 


 


Das Rechtsklick-Menü funktioniert, die Query mit den verschiedenen Parametern funktioniert, das Grid wird gefüllt und es lässt sich auch eine Zeile selektieren.


 


Allerdings weiss ich nun nicht, wie ich den ItemCode der selektierten Zeile speichere, respektive ihn der Ursprungsform übergebe.



Exception threadEx = null;
try
{

Matrix oMatrix = Matrix.GetFromUID(pVal.Form, "38");
int currentRow = pVal.Row - 1;

string columnUID = "ArtNr";

// parameters

int formWidth = 800; // width of the window
int formHeight = 400; // height of the window
int left = 10; // distance to the left border
string formTitle = "Item Search"; // title of the new window
string formType = "COR_CUS_SII"; // form type for new window

// read information from the current window

//string itemCode = TextEdit.GetFromUID(pVal.Form, "5").Value;
//string itemName = TextEdit.GetFromUID(pVal.Form, "7").Value;

// create items for new window

Label label = Label.CreateNew("L1");
label.Value = "Suche";
label.Left = left; label.Top = 10; label.Width = 300; label.Height = 10;

Grid grid = Grid.CreateNew("GR1");
grid.SetPosition(label);
grid.Top += label.Height + 5;
grid.Height = formHeight - 100;
grid.Width = formWidth - 300;
grid.SelectionMode = SwissAddonFramework.UI.Components.Grid.SelectionModes.Single;
int selectedRow = 0;

Button buttonCancel = Button.CreateNew("2");
buttonCancel.Left = left; buttonCancel.Top = formHeight - 60; buttonCancel.Width = 85;
buttonCancel.Height = 20;

SwissAddonFramework.UI.Components.Button btn_Suche = SwissAddonFramework.UI.Components.Button.CreateNew("B2");
btn_Suche.Left = buttonCancel.Left + 90; btn_Suche.Top = formHeight - 60; btn_Suche.Width = 85;
btn_Suche.Height = 20;
btn_Suche.Value = "Suche";
//////////////////ArtNr\\\\\\\\\
Label label_T1_ArtNr = Label.CreateNew("L2");
label_T1_ArtNr.Left = grid.Width + 20;
label_T1_ArtNr.Top = 35;
label_T1_ArtNr.Width = 100;
label_T1_ArtNr.Value = "Artikel-Nr.:";

TextEdit T1_ArtNr = TextEdit.CreateNew("T1_ArtNr");
T1_ArtNr.Description = "Artikel-Nr.:";
T1_ArtNr.Left = label_T1_ArtNr.Left + label_T1_ArtNr.Width + 20;
T1_ArtNr.Width = 120;
T1_ArtNr.Height = 15;
T1_ArtNr.Top = label_T1_ArtNr.Top;
//////////////////ArtName\\\\\\\\\
Label label_T2_ArtName = Label.CreateNew("L3");
label_T2_ArtName.Left = grid.Width + 20;
label_T2_ArtName.Top = label_T1_ArtNr.Top + 18;
label_T2_ArtName.Width = label_T1_ArtNr.Width;
label_T2_ArtName.Value = "Artikelbezeichnung.:";

TextEdit T2_ArtName = TextEdit.CreateNew("T2_ArtName");
T2_ArtName.Description = "Artikelbezeichnung.:";
T2_ArtName.Left = label_T2_ArtName.Left + label_T2_ArtName.Width + 20;
T2_ArtName.Width = T1_ArtNr.Width;
T2_ArtName.Height = 15;
T2_ArtName.Top = label_T1_ArtNr.Top + 18;

Form form = Form.CreateNewForm(formType, "COR_CUS_SII" + SwissAddonFramework.Utils.UniqueStringGenerator.Next());
form.Height = formHeight;
form.Width = formWidth;
form.Top = pVal.Form.Top;
form.Left = pVal.Form.Left;
form.Value = formTitle;

form.AddItem(label);
form.AddItem(label_T1_ArtNr);
form.AddItem(T1_ArtNr);
form.AddItem(label_T2_ArtName);
form.AddItem(T2_ArtName);
form.AddItem(btn_Suche);
form.AddItem(grid);
form.AddItem(buttonCancel);

form.Load();

btn_Suche.AddHandler_ItemPressed(ModeComponent.FormModes.ALL, new SwissAddonFramework.UI.EventHandling.ItemEvents.ItemPressedEventHandler(delegate(SwissAddonFramework.UI.EventHandling.ItemEvents.ItemPressed eventVal)
{
string query1 = @"select ItemCode AS ArtNr,Itemname AS ArtName,u_znr AS Zeichnung from OITM
WHERE u_znr LIKE '%" + TextEdit.GetFromUID(form, "T1_ArtNr").Value + "%' AND ItemName LIKE '%" + TextEdit.GetFromUID(form, "T2_ArtName").Value + "%'";

grid.ExecuteQuery(query1);

grid.Columns["ArtNr"].Editable = false;
grid.Columns["ArtName"].Editable = false;
grid.Columns["Zeichnung"].Editable = false;

string ItemCode = grid.GetValue("ArtNr", selectedRow);
}));

}
catch (Exception ex)
{
threadEx = ex;
SwissAddonFramework.UI.Dialogs.MessageBox.Show(threadEx.ToString(), "OK");
return;
}

Für Einen Tipp wäre ich sehr dankbar ;)


Matthias Klessing

Guten Tag allerseits,


 


diese Ratlosigkeit wundert mich doch sehr.


 


Interessieren Hilfgesuche hier einfach nicht mehr?


 


War die Problemformulierung nicht konkret genug?


 


Die Frage falsch kategorisiert?


 


Der Schwierigkeitsgrad kann es eigentlich nicht sein.


0

Comments

0 comments

Please sign in to leave a comment.

Didn't find what you were looking for?

New post