PDA

View Full Version : databindings یک combobox



shirin_h
شنبه 24 آذر 1386, 09:35 صبح
سلام دوستان
من به comboboxam از پایگاه داده ای در sqlserver 2000 داده ای را به صورت زیر bind کرده ام
می خواهم با کدی چک کنم که داده ی bind شده چیه و بر اساس اون کاری انجام بده
کدی که نوشته ام داده را به درستی bind می کنه ولی تشخیص نمی ده که داده bind شده چیه
لطفآ کمکم کنین.
مرسی


this.comboBox5.DataBindings.Add("Text", this.dviewmanager, "student.گروه_آموزشی");





if (comboBox5.DataBindings .ToString() == "انفورماتیک")
{
this.textBox15.Text = "salam";
}

shirin_h
شنبه 24 آذر 1386, 11:19 صبح
کسی نمی دونه چی کار باید بکنم؟

sinpin
شنبه 24 آذر 1386, 11:25 صبح
سلام دوستان
من به comboboxam از پایگاه داده ای در sqlserver 2000 داده ای را به صورت زیر bind کرده ام
می خواهم با کدی چک کنم که داده ی bind شده چیه و بر اساس اون کاری انجام بده
کدی که نوشته ام داده را به درستی bind می کنه ولی تشخیص نمی ده که داده bind شده چیه
لطفآ کمکم کنین.
مرسی


this.comboBox5.DataBindings.Add("Text", this.dviewmanager, "student.گروه_آموزشی");


if (comboBox5.DataBindings .ToString() == "انفورماتیک")
{
this.textBox15.Text = "salam";
}




if (comboBox5.SelectedItem.ToString() == "انفورماتیک")

shirin_h
شنبه 24 آذر 1386, 11:29 صبح
نه اینیکه شما نوشتین و نه selecteditem و نه selectedvalue هیچکدوم جواب نمی ده

sinpin
شنبه 24 آذر 1386, 11:34 صبح
نه اینیکه شما نوشتین و نه selecteditem و نه selectedvalue هیچکدوم جواب نمی ده
جواب نمیده یعنی چی ؟
لطفا بیشتر توضیح بدید که میخواین چیکار کنید.

shirin_h
شنبه 24 آذر 1386, 12:04 عصر
ببینید من یه فرم update دارم که می خوام وقتی کاربر از combobox نام و نام خانوادگی دانش آموزی رو انتخاب کرد اطلاعات تمامی فیلد های پایگاه دادم تو textbox ها و combobox ها load بشه تا کاربر هر کدوم رو که می خواد تغییر بده و button update رو بزنه تا اطلاعات دانش آموز مورد نظر update بشه
من یه combobox گروه آموزشی دارم که براش کد زیر رو نوشتم


this.comboBox5.Items.Add("انفورماتیک");
this.comboBox5.Items.Add("مدیریت");
this.comboBox5.Items.Add("زبان");
this.comboBox5.DataBindings.Add("Text", this.dviewmanager, "student.گروه_آموزشی");

بر اساس انکه تو جدول پایگاه دادم گرو آموزشی چیه comboboxam اونو نشون می ده
ولی موقعی که می خوام بگم اگر مثلآ گروه آموزشی انفورماتیک این کارارو بکن هیچ کدوم از کدا جواب نمی ده مگر اینکه مجددآ کاربر با اینکه combobox خودش انفرماتیک رو نشون می ده خودش دوباره از item های combobox اون رو انتخاب کنه
کدی هم که به کار بردم بصورت زیر


if (comboBox5.SelectedItem==null )
{
if (comboBox5.DataBindings .ToString() == "انفورماتیک")
{
this.textBox15.Text = "kjh";
}
}

if (comboBox5.SelectedItem==null ) رو برای این نوشتم که یعنی کاربر گروه آموزشی رو که از پایگاه داده اومده تغییر نداده و چیز دیگه ای به جای انفورماتیک انتخاب نکرده.

sinpin
شنبه 24 آذر 1386, 12:14 عصر
... ولی موقعی که می خوام بگم اگر مثلآ گروه آموزشی انفورماتیک این کارارو بکن هیچ کدوم از کدا جواب نمی ده مگر اینکه مجددآ کاربر با اینکه combobox خودش انفرماتیک رو نشون می ده خودش دوباره از item های combobox اون رو انتخاب کنه
...

در اینصورت فکر میکنم (اگه درست متوجه مشکل شده باشم) اگه با خاصیت Text کار کنید مشکل حل بشه :


if (comboBox5.Text == "انفورماتیک")

shirin_h
شنبه 24 آذر 1386, 12:37 عصر
ممنون از اینکه کمکم می کنین
textbox1.text=comboBox5.Text واقعآ چیزی رو که تو پایگاه دادس تو textbox می نویسه ولی نمی دونم چرا موقعی که کد شما رو می نویسم تو if اصلآ نمی تونه مقایسه کنه و هیچ اتفاقی نمی افته.

babak23
شنبه 24 آذر 1386, 13:01 عصر
ممنون از اینکه کمکم می کنین
textbox1.text=comboBox5.Text واقعآ چیزی رو که تو پایگاه دادس تو textbox می نویسه ولی نمی دونم چرا موقعی که کد شما رو می نویسم تو if اصلآ نمی تونه مقایسه کنه و هیچ اتفاقی نمی افته.


بهتره برای فیلد مورد نظر یک فیلد کد در نظر بگیرد ( که از نوع عددی و صحیح باشه ) و جستجو ها را بر مبنای این کد انجام دهید با فرض اینکه شما می خواهید اطلاعات یک دانشجو را ثبت کنید باید به ازای هر دانشجو یک کد عددی منحصر به فرد داشته باشید و جستجو را برمبنای اون قرار دهید با این کار دیگه شما با چنین مشکلاتی روبرو نخواهید شد.


مشابه این مورد



privatevoid comboxadmin(SqlConnection objConnection)
{
SqlDataAdapter adapter = newSqlDataAdapter("select n_vahed as Information ,code from sabt where code > 200 ", objConnection);
DataTable objdataTable = newDataTable();
adapter.Fill(objdataTable);
objConnection.Open();
comboBox1.DataSource = objdataTable;
comboBox1.DisplayMember = "Information";
comboBox1.ValueMember = "code";
objConnection.Close();
}

sinpin
شنبه 24 آذر 1386, 13:08 عصر
ممنون از اینکه کمکم می کنین
textbox1.text=comboBox5.Text واقعآ چیزی رو که تو پایگاه دادس تو textbox می نویسه ولی نمی دونم چرا موقعی که کد شما رو می نویسم تو if اصلآ نمی تونه مقایسه کنه و هیچ اتفاقی نمی افته.
:گیج:
ممکنه موقع درج توی دیتابیس چندتا white space اضافه شده باشه. :متفکر:
اینو تست کنید :


if (comboBox5.Text.Trim() == "انفورماتیک")

shirin_h
شنبه 24 آذر 1386, 16:58 عصر
متاسفانه اونم جواب نداد
خیلی کلافه شدم
راه دیگه ای وجود نداره؟

shirin_h
شنبه 24 آذر 1386, 21:10 عصر
نه white space هم اضافه نشده.
چی کار باید بکنم؟
لطفآ کمکم کنین.

sinpin
یک شنبه 25 آذر 1386, 07:41 صبح
نه white space هم اضافه نشده.
چی کار باید بکنم؟
لطفآ کمکم کنین.

اگه براتون مقدوره، کد و دیتابیس برنامه تون رو آپلود کنید که دوستان بتونن کمک کنن.