PDA

View Full Version : سوال: مشكل در پر كردن كمبو با ديتاريدر



s_mokhtari
شنبه 03 مهر 1389, 16:23 عصر
سلام
دوستان من ميخوام كمبو باكس رو با ديتاريدر پر كنم ميشه يا نه


if (sdr.HasRows)
{
cmb_unit.DataSource = sdr;
while (sdr.Read())
{

cmb_unit.DisplayMember = sdr[1].ToString();
cmb_unit.ValueMember = sdr[0].ToString();

}
}
sdr.Close();

ولي متاسفانه كمبو پر نميشه ولي وقتي f11 رو ميگيرم مقدار ديسپلي ممبر و وليو ممبرش پر ميشه
ممنون:اشتباه:

cheshm6k
شنبه 03 مهر 1389, 18:45 عصر
سلام .
شما در درک دو خصوصیت DisplayMember و ValuMember دچار اشتباه شدید .
این دو، تنها یکبار مقداردهی میشوند، نه به تعداد رکوردهای موجود، آن هم با مقادیر فیلدها!!!
DisplayMember نام فیلدیست که مقادیر آن ستون نمایش داده میشود.
ValueMember نام فیلدیست که با انتخاب هر گزینه، مقدار یکتای مربوط به آن در خصوصیت SelectedValue کامبوباکس قرار میگیرد.

اگر اصرار به استفاده از دیتاریدر دارید ، میتوانید یک دیتاتیبل بسازید و آنرا به عنوان دیتاسورس کامبوباکس قرار دهید.


DataTable dt = new DataTable();
dt.Load(sdr);
comboBox1.DataSource = dt;
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "ID";

موفق باشید.

علیرضا حسن زاده
شنبه 03 مهر 1389, 18:49 عصر
برای پر کردن combo از دستور زیر می تونید استفاده کنید

cmb_unit.items.add(مقدار دلخواه که باید واردکمبو بشه)