خطا bind کردن اطالاعات به combpbox
وقتی برنامه رو اجرا میکنم به combotechernames.ValueMember = "teacherid" این error رو میده
Cannot bind to the new display member.
Parameter name: newDisplayMember
:متفکر:
رویداد dropdown کامبو باکس
private void comboteacher_DropDown(object sender, EventArgs e)
{
classes.teachercourse teachercourse = new classes.teachercourse();
System.Data.DataSet dataset = teachercourse.fillcombotch();
combotechernames.DataSource = dataset;
combotechernames.DataSource = dataset;
combotechernames.DisplayMember = "lname";
combotechernames.ValueMember = "teacherid";
}
اینم متود fill تو کلاس
public System.Data.DataSet fillcombotch()
{
System.Data.DataSet dataset = new System.Data.DataSet();
using (SqlConnection connection = new SqlConnection("Data Source=(local);Initial Catalog= ASATIR;Integrated Security=True"))
{
SqlDataAdapter myadapter = new SqlDataAdapter();
SqlCommand command = new SqlCommand("select teacherid , lname from teacher", connection);
//--open connection
if (connection.State != System.Data.ConnectionState.Open)
{
connection.Open();
}
myadapter.SelectCommand = command;
myadapter.Fill(dataset, "teacher");
if (connection.State != System.Data.ConnectionState.Closed)
{
connection.Close();
}
if (command != null)
{
command.Dispose();
}
}
return dataset;
}
نقل قول: خطا bind کردن اطالاعات به combpbox
چرا شما تو DropDown کد بایند کردن رو نوشتین؟ اینجوری هربار که کمبو باز میشه میره اطلاعات رو بایند میکنه. بهتره که اینکار یه بار و اون هم موقع لود شدن فرم انجام بشه
موفق باشی
نقل قول: خطا bind کردن اطالاعات به combpbox
این کارو در ابتدا کردم
ولی تو کامبوباکس این رو مینویسه
System.Data.DataViewManagerListItemTypeDescriptor
اطلاعات رو نشون نمیده
نقل قول: خطا bind کردن اطالاعات به combpbox
کسی نمیتونه مشکل من برطرف کنه؟
نقل قول: خطا bind کردن اطالاعات به combpbox
سلام شماDataSource رو دیتا ست گذاشتین.باید مشخص کنید کدوم جدول از دیتاست.بهتره تو فرم لود بنویسین.موفق باشین
نقل قول: خطا bind کردن اطالاعات به combpbox
کلاسو static تعریف کن بببین چیه
نقل قول: خطا bind کردن اطالاعات به combpbox
من این کاری که شما میخواید بکنید رو قبلا انجام دادم که کدش رو اینجا میذارم . به نظرم مشکل شما توی دریافت اطلاعات از دیتابیسه
اول از همه به جای کد نوشتن . خود combobox با استفاده از ویزارد راحت هر چی رو بخواید بیند میکنه ولی اگه میخواید
SqlConnection con = new SqlConnection();
con.ConnectionString = cstr;
SqlCommand =new SqlCommand();
cmd.Connection = con;
SqlDataAdapter da=new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
DataSet ds =new DataSet();
con.Open();
cmd.CommandText = "select name from tbl_teacher";
dt.Clear();
da.Fill(dt);
con.Close();
این برای دیتابیس
این هم اونت دراپ داون :
comboBox1.Items.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
comboBox1.Items.Add(dt.Rows[i]["name"]);
}
نقل قول: خطا bind کردن اطالاعات به combpbox
سلام
comboBox1.DataSource = dtSex;
comboBox1.DisplayMember = "sexFa";
comboBox1.ValueMember = "sexCode";
من به اینصورت کار میکنم.
dtSex هم یک دیتاتیبل هست.
یک سوال: من میخام تعداد 18000 رکورد رو به کمبوباکس بایند کنم. که برنامم خیلی کند میشه وسرعت هم برام خیلی مهمه و تمام 18000 رکورد رو هم لازم دارم.
چکار میتونم بکنم که در نهایت سرعت بتونم این 18000 رکورد را سریعتر بایند کنم
با تشکر
نقل قول: خطا bind کردن اطالاعات به combpbox
نقل قول: خطا bind کردن اطالاعات به combpbox
دوست من بایند کردن روش خاصی نداره.. اگه همه 18000 تا رو میخوای و میخوای همه رو تو کمبو نشون بدی مجبوری اون کالکشنی که داری رو به کمبوتون بایند کنید دیگه.. کار دیگه ای نمیتونید انجام بدید فک کنم... واقعا مجبوری همه 18000 رکورد رو به یه کمبو بایند کنی؟
نقل قول: خطا bind کردن اطالاعات به combpbox
با سلام
بله باید همه 18000 تا رکورد رو تو کمبوباکس ببینم چون کاربرم هر لحظه ممکنه به یکی از این رکوردها بخاد دسترسی داشته باشه.