PDA

View Full Version : بایند کردن combobox



Mrs.Net
جمعه 01 تیر 1386, 13:50 عصر
یک combobox دارم که از یک جدولی پر میشه و میخوام که با فیلد یک جدول دیگه بایند بشه.
مثل انتخاب شهر برای تعریف اشخاص که از شهرها پر میشه و شهر اون شخص نشون میده

ولی وقتی از update دیتاآداپتر استفاده میکنم، اون فیلدو پر نمیکنه
چیکار کنم؟


cbCity.DataSource=ds;
cbCity.DisplayMember="name"

cbCity.DataBindings.Add("Text", bindingSource1,"city");

hdv212
جمعه 01 تیر 1386, 19:07 عصر
Mrs.Net عزیز، از این دوتا پستی که گذاشتی من که چیزی نفهمیدم ولی در مورد پست اولت، وقتی شما داری از یه جدول دیگه هم استفاده میکنی، بایستی در موقع آپدیت، اون جدول رو هم آپدیت کنی، یعنی من فکر میکنم که تو از دو جدول استفاده میکنی، برای update هم بایستی فیلدهای مربوطه ی هر دو جدول رو update کنی.
موفق باشید.

Mrs.Net
جمعه 01 تیر 1386, 19:28 عصر
من یک جدول دارم که اسم شهرهارو داره و یک جدول دارم که اسم اشخاص داره
برای تعریف یک شخص جدید دیگه چیکار update کردن جدو.ل شهرها دارم؟!!!
فقط میخوام combobox از جدول شهرها پر بشه و برای هر شخص برابر شهر اون شخص نشون بده. همین
ممنون

hdv212
جمعه 01 تیر 1386, 19:46 عصر
ببین برای بایند کردن comboBox ات از کد زیر استفاده کن :


// Attach dataset's DefaultView to the combobox
comboBox1.DataSource = dataSet.Tables["customers"].DefaultView;
comboBox1.DisplayMember = "CustomerID";

و برای نمایش شهر هر شخص در comboBox ات از کد زیر استفاده کن :(از این کد در داخل رویداد dataGridView_SelectionChanged استفاده کن)


DataRow currentRow = this.ds_archive1.t_Archive.Rows[this.dataGridView1.CurrentCell.RowIndex];
this.combo_lovelDoc.Text = currentRow["LevelDoc"].ToString();

Mrs.Net
جمعه 01 تیر 1386, 22:13 عصر
hdv212 میشه بگین کدوم کد combox از شهرها پر میکنه؟!
و کدوم کد اسم اون شهری که الان binding رو اون شخص قرار داره توی combox نشون میده؟!

hdv212
جمعه 01 تیر 1386, 23:02 عصر
اون comBox ای که گذاشتم مثلا از جدول شهرها پر میشه دیگه، بعدشم همانطور که گفتم توی رویداد dataGridView_SelectionChanged شما داری رکورد جاری رو توی یه dataRow میریزی، حالا فوکوس روی هر رکوردی توی دیتاگریدت بره، اطلاعات همون رکورد در dataRow ریخته میشه، حالا تو قسمت دوم کدی که بهت دادم(در داخل همون رویدادdataGridView_SelectionChanged)
داده ی فیلد مورد نظرت رو میذاری تو خاصیت text مربوط به comboBox خودت.

Mrs.Net
شنبه 02 تیر 1386, 08:29 صبح
پس شما نکته مهم قضیه رو فراموش کردید که همه اینها باید بایند شده باشند و موقع update کار کنه
پس به هیچ رویدادی برای تغییر combox احتیاج نباید باشه

سوال اصلی اینه که چجوری یک combox به یک فیلد بایند کنم که وقتی update میزنم، مقداری که الان انتخاب شده ثبت اون فیلد بشه؟
مرسی

ghafoori
شنبه 02 تیر 1386, 14:19 عصر
دوست عزیز اگر من منظور شما را درست متوجه شده باشم شما می خواهید مثلا یک جدول دارید که باید نام شهری در یکی از فیلدها ذخیره شود اما شما برای هر شهر کدی را در نظر گرفتید و جدولی دارید که نام شهر و کد ان در ان ذخیره شده شما می خواهید نام شهرها را به کاربر نشان بدهید ولی داخل جدول اصلیتون بصورت کد ذخیره شود اگر منظور شما این است باید از خواص displaymember,valuemember,selecteditem,selectedval ue استفاده کنید

mehdi.mousavi
شنبه 02 تیر 1386, 14:33 عصر
یک combobox دارم که از یک جدولی پر میشه و میخوام که با فیلد یک جدول دیگه بایند بشه.
مثل انتخاب شهر برای تعریف اشخاص که از شهرها پر میشه و شهر اون شخص نشون میده

ولی وقتی از update دیتاآداپتر استفاده میکنم، اون فیلدو پر نمیکنه
چیکار کنم؟


cbCity.DataSource=ds;
cbCity.DisplayMember="name"

cbCity.DataBindings.Add("Text", bindingSource1,"city");

سلام.
من نمیخوام به سوالتون جواب بدم، فقط دیدم که کدی که نوشتید از نظر performance زیاد خوب نیست. همیشه برای Bind کردن، ابتدا DisplayMember، سپس ValueMember و در نهایت DataSource رو ست کنید. برای اینکه بفهمید چرا اینطوری، این مقاله رو بخونید. (http://www.codeproject.com/csharp/ScoMListControlBinding.asp?print=true)

Mrs.Net
شنبه 02 تیر 1386, 23:00 عصر
باید از خواص displaymember,valuemember,selecteditem,selectedval ue استفاده کنید
چجوری؟
من میخوام comboxام از یم جدول پر بشه و با یک جدول دیگه بایند بشه
لطفا همینو راهنماییم کنید

ghafoori
یک شنبه 03 تیر 1386, 06:48 صبح
من برای پروژه هام اینکارو می کردم ابتدا combox را به جدول شهر bind می کردم و خاصیت displaymember را معادل نام شهر و valuemember را برابر کد شهر قرار می دادم سپس selectedval ue را برابر فیلدی که می خواستم کد شهر در ان قرار بگیرید می گذاشتم مثل پروژه زیر
9381

Mrs.Net
یک شنبه 03 تیر 1386, 18:43 عصر
مرسی دقیقا همونی بود که میخواستم

danial82
جمعه 06 مهر 1386, 12:09 عصر
من این کد رو پیدا کردم وتغییر دادم طوری که با تغییر مقدار combo box مقدار فیلدهای مربوطه اش تغییر کنه این با دیتا بیس pubs کار میکنه
فقط یه مشکل وقتی مقدار combo box تغییر میکنه حتما باید دکمه search زده شود و اگر کد رو در رویداد تغییر combo box بذارم Error میگیره