PDA

View Full Version : سوال: ارسال اطلاعات از DataGridView به ComboBox



jafarpalideh
چهارشنبه 21 بهمن 1394, 11:33 صبح
باسلام .
من یه گریدویو دارم که از طریق دیتاست و ویزاردی وصلش کردم به یک ویوئی که از جوین دوتا جدول به دستش آوردم .
حالا وقتی که کمبوباکس رویه فرم رو بایند میکنم به همون bindingsorce ی که دیتاگرید ویو بهش وصله ، تویه کمبوباکسم چند بار گروه تکراری نشون داده میشه .
چیکار کنم که گروههای تکراری توش نمایش داده نشه ؟

شهابسلطانی
چهارشنبه 21 بهمن 1394, 12:43 عصر
سلام
بهتره که کد اینجوری بنویسی(البته نظر من اینه)
برای نمایش اطلاعات در کمبو:مثلا

sqlDataAdapter sda=new sqlDataAdapter=("select NameFila from NameTabel where ID=@ID",conn);
sda.selectcommand.parameters.addwithvalue("@ID",text1.text);
DataTable DT=new DataTable();
Sda.fill(DT);
combo1.displaymember="dt";
برای از دیتاگرید به textbox:
در رویداد cliccell دیتا گرید بنویس:
textbox1.text=datagrid.currentrow.cells["ID"].value.tostring();
حالا با انتخاب هر سطر اطلاعات اون توی combo نشون داده میشه

موفق باشید

jafarpalideh
چهارشنبه 21 بهمن 1394, 13:11 عصر
پیشنهاد خوبی به نظر نمیاد.
یه پیشنهاد بهتر میخوام که با همین bindingsource کارم راه بیفته و وقتی کاربر رویه گرید حرکت میکنه اطلاعات کمبوباکس و تمامیه تکست باکسها عوض شه .
البته بگم که selection mode رو رویه full row select تنظیم کردم

Mahmoud.Afrad
چهارشنبه 21 بهمن 1394, 20:58 عصر
نباید کمبوباکس به view متصل بشه بلکه باید به جدول گروه متصل بشه.

jafarpalideh
پنج شنبه 22 بهمن 1394, 07:09 صبح
حرفتون درسته . اونوقت چطور میتونم با حرکت کردن بر روی دیتاگرید ویو مقدار ستون جدولم رو تویه کمبوباکس فراخوانی کنم ؟
من تویه رویداد sellectionchange و keyup دیتاگرید کد نوشتم ولی نتونستم نتیجه بگیرم .
میشه بگید تویه کدوم رویداد گرید و چه کدی باید بنویسم ؟

jafarpalideh
پنج شنبه 22 بهمن 1394, 10:36 صبح
دوستان عزیز . می تونید بگید که چه کدی باید بنویسم که با حرکت بر روی گرید داده هام به کمبوباکس منتقل شه ؟

Mahmoud.Afrad
پنج شنبه 22 بهمن 1394, 14:48 عصر
با اتصال دیتاسورس به دیتاگریدویو ، یک BindingSource مربوط به view به فرمت اضافه شده.
حالا کمبوباکس رو به جدول گروه متصل کنید. بعد بایست Selected Value کمبوباکس رو بایند کنید به آیدی گروه BindingSource ای که به دیتاگرید متصل کردید.
http://www.cs.trinity.edu/~thicks/Tutorials/Visual-Studio-Windows-App-Form-MSSQL-Connection-ComboBox/MSSQL-48.jpg

mahdibham
پنج شنبه 26 آبان 1401, 11:49 صبح
سلام وقتتون بخیر..
همین کار رو میخوام توی Net Core6. انجام بدم به صورتی که وقتی یکی از مقادیر کومبو رو انتخاب میکنم بعد از فشردن دکمه ی ثبت وارد یکی از گریدویو هام بشه.
هرچی به صورت زیر کدشو میزنم انجام نمیده:

frm2.cmbDependentsJob.SelectedItem = dgvDependenceInformation.CurrentRow.Cells[4].Value.ToString();

البته در این کد میخواستم که وقتی روی یکی از ردیف های گریدویو کلیک میکنم اطلاعاتی که مربوط به کومبو هست وارد اون بشه که این هم جواب نمیده..

اون حالتی هم که میخواستم از کومبو به گریدویو منتقل بشه هم به صورت زیر هست که باز هم جواب نداده:

dgvDependenceInformation.CurrentRow.Cells[4].Value = this.cmbJob.SelectedValue.ToString();

Mahmoud.Afrad
سه شنبه 01 آذر 1401, 05:02 صبح
...

frm2.cmbDependentsJob.SelectedItem = dgvDependenceInformation.CurrentRow.Cells[4].Value.ToString();

...

dgvDependenceInformation.CurrentRow.Cells[4].Value = this.cmbJob.SelectedValue.ToString();


من نمیدونم چطوری پرشون کردید ولی اگر از بایندینگ استفاده کنید خودبخود تغییرات در دیگری اعمال میشه.
در کدهای خودتون ، در کد اول ، بعد از currentrow اضافیه. در کد دوم currentrow برابر selecteditem باشه. تست کنید من سیستم ندارم.

mahdibham
شنبه 12 آذر 1401, 09:57 صبح
مرسی .. کار کرد:بوس: