PDA

View Full Version : مشکل در پر کردن دو تا combobox



مهدی رحیم زاده
شنبه 10 شهریور 1386, 21:47 عصر
من می خوام که دو تا combobox رو با داده های دو تا فیلد از یک تیبل پر کنم ...
برای این کار از این کد استفاده می کنم اما درست کار نمی کنه و اولین کمبو باکس خالی می مونه ...
چکار کنم که درست بشه ...
اینم کد :

DataTable dt1 = new DataTable();
dt1.Clear();
dt1 = getdata("select distinct work_place from moayenat");
comboBox3.DataSource = dt1;
comboBox3.DisplayMember = "work_place";
dt.Clear();
dt = getdata("select distinct work_unit from moayenat");
comboBox1.DataSource = dt;
comboBox1.DisplayMember = "work_unit";

egoldashraf
شنبه 10 شهریور 1386, 23:42 عصر
SqlConnection connection = new SqlConnection("Data Source=.;Initial Catalog=Northwind;Integrated Security=True");
SqlDataAdapter adapter = new SqlDataAdapter("SELECT CategoryName, Description FROM Categories", connection);
DataTable dt = new DataTable();
adapter.Fill(dt);
comboBox1.DataSource = dt;
comboBox1.DisplayMember = "CategoryName";
comboBox2.DataSource = dt;
comboBox2.DisplayMember = "Description";

hdv212
یک شنبه 11 شهریور 1386, 00:50 صبح
دوست عزیز در خط ششم نباید از این کد استفاده کنی :

dt.Clear();
خب معلومه که دیتاتیبلت پاک میشه، کومبوباکستم پاک میشه.

مهدی رحیم زاده
یک شنبه 11 شهریور 1386, 06:21 صبح
حالا یه مشکل دیگه ...
حالا هر دوتا پر میشن ولی به ازاء هر مورد که به یکی اضافه می شه توی دومی یک سطر خالی ایجاد میشه و وقتی توی هر کدوم یک گزینه رو انتخاب می کنم ، توی اون یکی یک سطر خالی انتخاب میشه ...

egoldashraf
یک شنبه 11 شهریور 1386, 22:22 عصر
دیتا سورس های ComboBox ها رو از هم جدا کنی درست میشه

choobin84
دوشنبه 12 شهریور 1386, 07:01 صبح
دوست عزیز در خط ششم نباید از این کد استفاده کنی :

dt.Clear();خب معلومه که دیتاتیبلت پاک میشه، کومبوباکستم پاک میشه.

تعریف dt , dt1 جدا از همند ، بنابراین با هم فرق می کنند و dt.Clear ربطی به dt1 نداره.

choobin84
دوشنبه 12 شهریور 1386, 07:06 صبح
از کد زیر برای پر کردن کمبو ها استفاده کنید حتما جواب میده.

dt=getdata....
foreach(DataRow dr in dt.Rows)
comboBox1.Items.Add(dr[0]);
dt=getdata....

برای کمبو 2 هم همین کار را بکنید