PDA

View Full Version : سوال: مشكل با كنترل ComboBoxEdit از DevExpress



mgh64120
یک شنبه 26 آبان 1392, 22:27 عصر
سلام به همه
من درون پروژه ام از كامبوباكس (كمپاني DevExpress) استفاده ميكنم كه چند تا مشكل برام پيش اومده.
اونو با كد زير پر مي كنم :


Dim DT As New DataTable
DT.Columns.Add(New DataColumn("ID", GetType(Integer)))
DT.Columns.Add(New DataColumn("Name", GetType(String)))
DT.Rows.Add(1, "Ali")
DT.Rows.Add(2, "Ehsan")
DT.Rows.Add(3, "Hossein")
cboSh.Items.Clear()
cboSh.ItemsSource = DT
cboSh.DisplayMember = "Name"
cboSh.ValueMember = "ID"

خاصيت StyleSettings اونو به ‍CheckedComboBoxStyleSettings تنظيم كردم
و نتيجه حاصله عكس زير.
حالا وقتي ميخوام تعداد آيتم هاي كامبوباكس رو از طريق كد زير بدست بيارم نتيجه هميشه صفر هست.
(cboSh.Items.Count)
يا وقتي ميخوام از طريق دستور For Each به تمام آيتمها دسترسي داشته باشم ولي وارد حلقه نميشه...
(For Each item As DevExpress.Xpf.Editors.ComboBoxEditItem In cboSh.Items)
و مشكل اصلي اينكه من ميخوام بعد از پر شدن كامبوباكس تعدادي از گزينه ها كه داراي مقادير
(Value يا همون ValueMember) خاصي هستند رو تيك بزنم. مثلا اشخاصي كه Id اونها بزرگتر از يك باشه كه نتيجه تيك دار شدن گزينه هاي احسان و حسين هست.
Please Help me...
:بوس:
باتشكر...

رضا عربلو
شنبه 09 آذر 1392, 11:24 صبح
this.cboSh.Text = "Ali;Ehsan"

و یا

this.cboSh.SelectedItems.Add(DT.DefaultView[0]);
this.cboSh.SelectedItems.Add(DT.DefaultView[1]);

mgh64120
یک شنبه 10 آذر 1392, 21:52 عصر
سلام. خيلي ممنون از توجه و پاسخ شما...
اگر براتون مقدور هست در مورد تعداد آيتم ها (cboSh.Items.Count)و دستور For Each هم توضيحاتي رو بديد.
مرسي...
:چشمک: :خجالت: :بوس:

رضا عربلو
دوشنبه 11 آذر 1392, 17:14 عصر
تعداد کل آیتم ها را با DT.Rows داری. همچنین بر روی DT.DefaultView می تونی for each استفاده کنی. اگر هم آیتم های انتخاب شده رو می خوای می تونی بر روی this.cboSh.SelectedItems از for each استفاده کنی.