Bu işlem için önce BarManager' a eklemek için bir tane BarEditItem nesnesi oluşturuyoruz.Daha sonra ekleyeceğim öğeler için ben string değerler içeren bir liste oluşturduğum. Oluşturduğum bu listeyi foreach ile dönüp, her string için bir RepositoryItemCheckedComboBoxEdit oluşturacağım.Ve bu nesneye ogeler ekleyeceğim.Daha sonrada bunu, başta oluşturduğumuz BarEditItem nesnesinin Edit özelliğine atayarak işlemimizi bitireceğiz.
Önce foreach ile secimler listemizi dönüyoruz. Ele aldığımız her string için bir RepositoryItemCheckedComboBoxEdit nesnesi oluşturuyoruz. Ben CheckedComboBoxEdit nesnesi ile çalıştığım için RepositoryItemCheckedComboBoxEdit oluşturuyorum. Siz burayı ihtiyacınıza göre değiştirebilirsiniz. Bu işlemden sonra oluşturduğum combo nesnesine on adet oge ekliyorum. Ekleme işlemini bitirdikten sonra artık bir CheckedComboBoxEdit nesnem oluştu. Şimdi bunu eklemek için BarEditItem nesnesini örnekliyorum. Ve örneklediğim barEditItem nesnesinin edit özelliğine oluşturduğum CheckedComboBoxEdit nesnesini ekliyorum. Ve işlemimim bitiyor.
public void DinamikOlustur()
{
List<string> secimler = new List<string>() { "Kategori", "Marka" };
BarEditItem nesne;
foreach (string item in secimler)
{
DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit combo = new RepositoryItemCheckedComboBoxEdit();
for (int i = 0; i < 10; i++)
{
combo.Items.Add(item + i.ToString());
}
nesne = new BarEditItem();
combo.NullText = "Seçiniz";
nesne.Edit = combo;
nesne.Width = 100;
nesne.Caption = item;
nesne.PaintStyle = BarItemPaintStyle.Caption;
barDinamik.AddItem(nesne);
}
}
Bu işlemi Formun load eventinde kullanarak veritabanından çektiğiniz nesne kadar eleman oluşturup, bu elemanın öğelerini dinamik olarak ekleyebilirsiniz.