PDA

View Full Version : کپی کردن یک ComboBox به ComboBox دیگر



seniamail
شنبه 09 آذر 1387, 10:24 صبح
با سلام
چگونه میتوان کل محتویات یک ComboBox را در ComboBox دیگر کپی کرد؟

رافعی مهدی
شنبه 09 آذر 1387, 10:40 صبح
سلام. اينجوري:




ComboBox cmb1 = new ComboBox();
ComboBox cmb2 = new ComboBox();
:
:
foreach (object item in cmb1.Items)
{
cmb2.Items.Add(item);
}

رافعی مهدی
شنبه 09 آذر 1387, 10:51 صبح
راستي اگر اين كار رو چند بار مي خواهيد انجام بديد، يا از ابتدا در cmb2 يك يا چند آيتم وجود داره كه بايد قبل از كپي پاك بشوند، از ;cmb2.Items.Clear استفاده كنيد.


.

seniamail
یک شنبه 10 آذر 1387, 08:53 صبح
این کد رو امتحان کردم ولی جواب نداد

رافعی مهدی
یک شنبه 10 آذر 1387, 09:52 صبح
عجيبه!
يه پروژه‌ي نمونه براتون گذاشتم كه با استفاده از همين كد كار مي‌كنه. در ابتدا ComboBox مبدأ حاوي چند تا آيتم هست، و ComboBox مقصد خاليه! بعد با فشردن دكمه‌ي Copy محتويات مبدأ به مقصد كپي مي‌شوند.


موفق باشيد

seniamail
یک شنبه 10 آذر 1387, 11:15 صبح
درود
در برنامه من به جای آیتم ها مورد نظر عبارت System.Data.DataRow اضافه میشود

رافعی مهدی
یک شنبه 10 آذر 1387, 11:47 صبح
درود
در برنامه من به جای آیتم ها مورد نظر عبارت System.Data.DataRow اضافه میشود
لطفاً راجع به برنامتون بيشتر توضيح بديد. Collection مربوط به ComboBox شما از كجا تغذيه ميشه؟

seniamail
دوشنبه 11 آذر 1387, 10:02 صبح
لطفاً راجع به برنامتون بيشتر توضيح بديد. Collection مربوط به ComboBox شما از كجا تغذيه ميشه؟


از یک Data Table که به یک دیتا بیس در SQL متصله

رافعی مهدی
دوشنبه 11 آذر 1387, 11:45 صبح
شما كه اطلاعات خاصي راجع به نحوه‌ي پر كردن Combobox در برنامتون نداديد!


با فرض اينكه از يك DataGridView استفاده شده باشه كه قبلاً اطلاعات رو به اون منتقل كرده باشيد، مي‌توان نوشت:




foreach (DataGridViewRow dataRow in dataGridView1.Rows)
{
comboBox1.Items.Add(dataRow.Cells[0].Value);
}



كد فوق آيتم هاي ستون اول تمام رديفهاي نمايش داده شده در ديتا گريد ويو رو وارد comboBox1 مي‌كنه. كد زير هم اين آيتم ها رو وارد comboBox2 مي‌كنه




foreach (object item in comboBox1.Items)
{
comboBox2.Items.Add(item);
}



با فرض اينكه بخواهيد مستقيماً از يك DataSet براي پر كردن comboBox1 استفاده كنيد:




foreach (DataRow dataRow in dataSet.Tables["MyDataTable"].Rows)
{
comboBox1.Items.Add(dataRow["MyColumn"].ToString());
}