top of page

SAP Business One Addon - Combobox Nedir? Nasıl Kullanılır?

Güncelleme tarihi: 29 Oca 2022

Addon geliştirirken en çok kullandığımız bileşenlerden bir tanesi de ComboBox bileşenidir. Bu bileşen ile üzerine basıldığında görünen bir listeden seçim yapabilmekteyiz.


Kullanımı:

Toolbox dan bir ComboBox ve UserDataSource bileşeni sürükleyip bırakın. UserDatasource ile ComboBox bileşenini ilişkilendirin.


ComboBox içerisindeki listeyi birden fazla şekilde doldurabiliriz. Eğer alabileceği değerler listesi sabit ise ValidValues property ile içeriği doldurabiliriz.

Eğer içerik form açıldığında yüklenmesi gerekiyorsa bunu kod ile kolaylıkla yapabiliriz. ComboBox bileşenin kod ile ValidValues property sine giderek .Add("Name","Description") şeklinde değerleri girebilirsiniz.


Ekranda değerler value-description şeklinde görünecektir. Bunu değiştirmek için ComboBox bileşeninin ExpandType property sini değiştirmeniz gerekmektedir.

(this.UIAPIRawForm.Items.Item("Item_9").Specific as SAPbouiCOM.ComboBox).ExpandType = SAPbouiCOM.BoExpandType.et_DescriptionOnly;

SAPbouiCOM.BoExpandType tipleri:

BoExpandType​

Açıklama

et_ValueDescription

Değer ve açıklama birlikte

et_ValueOnly

Sadece değer

et_DescriptionOnly

Sadece açıklama

Bazen de veritabanın dan bu listeyi çekme ihtiyacı olabilmektedir.

private void Button0_ClickBefore(object sboObject, SAPbouiCOM.SBOItemEventArg pVal, out bool BubbleEvent)
 {
     BubbleEvent = true;
     var combobox = (this.UIAPIRawForm.Items.Item("Item_9").Specific as SAPbouiCOM.ComboBox);
     
     var recordSet = (Application.SBO_Application.Company.GetDICompany() as SAPbobsCOM.Company).GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset) as SAPbobsCOM.Recordset;
     recordSet.DoQuery("SELECT * FROM OCRD");
     while (!recordSet.EoF)
     {
         combobox.ValidValues.Add(recordSet.Fields.Item("CardCode").Value.ToString(), recordSet.Fields.Item("CardName").Value.ToString());
 
         recordSet.MoveNext();
     }
 
     combobox.ExpandType = SAPbouiCOM.BoExpandType.et_DescriptionOnly;
 }

Bu durumda bir RecordSet nesnesi ile bir sql ile verisi çekip ComboBox nesnesinin validvalues property sine yükleyebilirsiniz.



185 görüntüleme0 yorum
bottom of page