PDA

View Full Version : پر شدن textbox توسط گزینه انتخاب شده در combobox



nimam2008
چهارشنبه 12 آبان 1389, 09:44 صبح
با سلام

یه سوال در مورد پر شدن text box بوسیله انتخاب گزینه مورد نظر در combobox دارم (به زبان #C ) که در پایین بیشتر توضیح می دم
من در sql یک جدول دو ستونه که اولی اسم شهر و دومی اسم کشور است درست کردم
و در برنامه یک combobox برای انتخاب شهر و یک textbox برای نمایش دادن نام کشور قرار دادم
برای وصل شدن به دیتابیس یه کلاس به نام connection ساختم که در آن متد fill نیز تعریف شده است و توسط وارد کردن کد زیر در لود فرم می توانم combobox را پر کنم


DataTable

dt = Connection.Fill("select * from TCurrency2011", "TCurrency2011");1
comboBox1.DataSource = dt;2
comboBox1.DisplayMember = "CName";3
comboBox1.ValueMember = "Id";4


(البته برای نمایش درست کد ها در این صفحه اخر انها از شماره های 1 تا 4 استفاده کرده ام)
و بعد از run نام شهر ها را نمایش می دهد ولی نمی دانم برای نمایش کشور مربوطه چه کدی را باید بنویسم
البته من متد زیر را برای پیدا کردن row انتخاب شده در DataTabl و فراخوانی متد و موارد دیگر که در کد زیر مشاهده می کنید نوشتم ولی در کل نمی توانم از این ها به درستی استفاده کنم مثلا کد fill شدن combobox را باید در لود فرم وارد کنم یا در event مربوط به selectedindexchanged و ...


DataRow

Get_Row(DataTable dt, int columnindex, string value)1
}
foreach (DataRow row in dt.Rows)2
}
if (row[columnindex].ToString() == value)3
}
return row;4
{
{
returnnull;5
{



لطفا راهنمایی فرمایید
با تشکر

ali.ghodrati
چهارشنبه 12 آبان 1389, 10:32 صبح
سلام دوست عزیز .برای بایند کردن textbox کافیه بعد از کدهای زیر


DataTable

dt = Connection.Fill("select * from TCurrency2011", "TCurrency2011");1
comboBox1.DataSource = dt;2
comboBox1.DisplayMember = "CName";3
comboBox1.ValueMember = "Id";4

این خط کد رو اضافه کنی

textBox1.DataBindings.Add("Text", dt, "نام ستون");

با حرکت در combobox مقدارد داخل تکست هم به طور اتومات عوض میشود

mahdi87_gh
چهارشنبه 12 آبان 1389, 10:36 صبح
آیا شما میخواین که دوتا کمبو داشته باشین که اولی کشور و دومی شهر باشه، وقتی کشور انتخاب میشه، کمبوی مربوط به شهر ها ، با نام شهر های اون کشور پر بشه؟
اگه در غیر این صورته بهتره توضیح کاملتری بدین.
برای قرار دادن کد ها هم بهتره از تگ کد(علامت #) در تولباری که متن رو تایپ می کنید استفاده کنید

nimam2008
چهارشنبه 12 آبان 1389, 11:02 صبح
سلام دوست عزیز .برای بایند کردن textbox کافیه بعد از کدهای زیر

این خط کد رو اضافه کنی

textBox1.DataBindings.Add("Text", dt, "نام ستون");

با حرکت در combobox مقدارد داخل تکست هم به طور اتومات عوض میشود



دستتون درد نکنه آقای ali Ghodrati نمی دونستم با همین یه خط کارم راه می افته بیخودی متد نوشته بودم و کلی خودم رو سر کار گذاشته بودم

ali.ghodrati
پنج شنبه 13 آبان 1389, 09:21 صبح
خواهش میکنم عزیز
قابلتو نداشت