PDA

View Full Version : سوال: پر کردن کامبو باکس



hamid_73
یک شنبه 09 شهریور 1393, 10:04 صبح
سلام دوستان
من یک دیتا گرید ویو دارم که یکی از سلول هاش کامبوباکسیه
می خوام موقعی که سطر جدید اضافه شد اتوماتیک کامبوباکس اون سلول فیل ( پر) بشه
دیتا گرید ویوم به بانک وصل نیست و همه اطلاعاتش دستی وارد میشه به جز کامبو باکسه که اطلاعاتش از پایگاه داده گرفته میشه.
از این کد واسه پر کردن کامبو باکس استفاده می کنم و وقتی تو فرم لود فراخونیش می کنم فقط سطر اول دیتا گرید پر میشه و سطر های جدید خالین.


SqlConnection Cn = new SqlConnection();
Cn.ConnectionString = Teif.Properties.Settings.Default.Connection;
SqlCommand Cm = new SqlCommand();
Cm.Connection = Cn;
Cm.CommandText = "SELECT fname +' '+ lname + ': ' + tb_role.caption as name from tb_user,tb_role where fk_role=tb_role.id";
SqlDataReader Rd;
Cn.Open();
Rd = Cm.ExecuteReader();
while (Rd.Read())
{
dgv_Info.Invoke(new Action(() =>
{
foreach (DataGridViewRow row in dgv_Info.Rows)
{
(row.Cells[8] as DataGridViewComboBoxCell).Items.Add(Rd[0].ToString());
}
}));
}
Cn.Close();

و وقتی اون رو تو اونت Rows Added فراخونیش می کنم سطر اول کامبو باکسه سه چهار بار پر میشه ولی سطر های جدید هیچ مشکلی ندارن و فقط یک بار اضافه می شن دوستان لطفا راهنمایی کنید واجبه :افسرده:

hamid_73
یک شنبه 09 شهریور 1393, 12:03 عصر
کسی نیست جواب بده؟

sohil_ww
یک شنبه 09 شهریور 1393, 19:26 عصر
سلام دوستان
من یک دیتا گرید ویو دارم که یکی از سلول هاش کامبوباکسیه
می خوام موقعی که سطر جدید اضافه شد اتوماتیک کامبوباکس اون سلول فیل ( پر) بشه
دیتا گرید ویوم به بانک وصل نیست و همه اطلاعاتش دستی وارد میشه به جز کامبو باکسه که اطلاعاتش از پایگاه داده گرفته میشه.
از این کد واسه پر کردن کامبو باکس استفاده می کنم و وقتی تو فرم لود فراخونیش می کنم فقط سطر اول دیتا گرید پر میشه و سطر های جدید خالین.


SqlConnection Cn = new SqlConnection();
Cn.ConnectionString = Teif.Properties.Settings.Default.Connection;
SqlCommand Cm = new SqlCommand();
Cm.Connection = Cn;
Cm.CommandText = "SELECT fname +' '+ lname + ': ' + tb_role.caption as name from tb_user,tb_role where fk_role=tb_role.id";
SqlDataReader Rd;
Cn.Open();
Rd = Cm.ExecuteReader();
while (Rd.Read())
{
dgv_Info.Invoke(new Action(() =>
{
foreach (DataGridViewRow row in dgv_Info.Rows)
{
(row.Cells[8] as DataGridViewComboBoxCell).Items.Add(Rd[0].ToString());
}
}));
}
Cn.Close();

و وقتی اون رو تو اونت Rows Added فراخونیش می کنم سطر اول کامبو باکسه سه چهار بار پر میشه ولی سطر های جدید هیچ مشکلی ندارن و فقط یک بار اضافه می شن دوستان لطفا راهنمایی کنید واجبه :افسرده:


دادا من اصلا متوجه سئوالت نشدم که قضیه چیه یکم بیشتر توضیح بدی ممنون می شم