sap business one c # разработка, формы и события кнопки - PullRequest
0 голосов
/ 06 сентября 2018

Я создаю аддон и для этого я успешно подключил di и ui api. Я создаю все (формы, кнопки, текстовые поля и т. д.) вручную по коду, чтобы узнать, как это мой первый. когда я отлаживаю, я вижу свою форму со всеми полями, которые я создал. Вот код для создания формы.

  SAPbouiCOM.FormCreationParams oCreationParams = null;
  oCreationParams = ((SAPbouiCOM.FormCreationParams(SBO_Application.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_FormCreationParams)));
  oCreationParams.BorderStyle = SAPbouiCOM.BoFormBorderStyle.fbs_Fixed;
  oCreationParams.UniqueID = "Form2";
  oForm = SBO_Application.Forms.AddEx(oCreationParams);


  oForm.Title = "Simple Form";
  oForm.Left = 417;
  oForm.Top = 520;
  oForm.ClientHeight = 610;
  oForm.ClientWidth = 770;

вот как я создаю свою кнопку

 SAPbouiCOM.Button oButton = null;
 oItem = oForm.Items.Add("Button1", SAPbouiCOM.BoFormItemTypes.it_BUTTON);
 oItem.Left = 6;
 oItem.Width = 65;
 oItem.Top = 51;
 oItem.Height = 19;
 oItem.Enabled = true;
 oButton = ((SAPbouiCOM.Button)(oItem.Specific));
 oButton.Caption = "Add";

проблема в том, что когда я пытаюсь добавить значения текстового поля в базу данных при событии нажатия кнопки, я не могу создать событие нажатия кнопки.

Насколько мне известно, когда мы создаем кнопку из набора инструментов и используем системную форму, она автоматически инициализирует функцию ON InitializeComponent () кнопки, а также создает делегатов, указывающих на событие нажатия кнопки.

Могу ли я знать, как добиться всего этого с помощью кода. я попытался инициализировать кнопку с помощью своего кода вручную, а также создал делегатов, указывающих на функцию нажатия кнопки, но мне не удалось достичь своего результата.

1 Ответ

0 голосов
/ 13 сентября 2018

Попробуйте добавить метод, который фиксирует события элемента SAP B1, например:

public void HandleItemEvent(ref SAPbouiCOM.ItemEvent pVal)
{ 
    if (pVal.BeforeAction == false && pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED && pVal.ItemUID == "Button1")
    {
        // You code here
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...