PDA

View Full Version : سوال: انتخاب رکورد از دیتابیس با کلیک بر روی datagridview



mohammad_sadeghi
پنج شنبه 05 مرداد 1391, 01:53 صبح
سلام خدمت اساتید محترم ...
در برنامه خودم از یه دیتاگرید استفاده کردم و انتخاب اون fullrowselect هستش . میخوام وقتی روی یه سطر دابل کلیک کردم اطلاعات اون سطر تو یه فرم دیگهای نمایش داده بشه هر سطر دارای یه فیلد کلید هم هستش که در دیتاگرید نشون داده نمیشه ... لطفا راهنماییم کنین ...

ali_habibi1384
پنج شنبه 05 مرداد 1391, 02:28 صبح
توي فرمي كه قراره اطلاعات رو نشون بدي تكست باكس هات رو modifier رو Public ميكني كه از بيرون فرم دسترسي داشته باشي.
حالا فرض كن روي گريدت دابل كليك كردي. توسط اين كد اطلاعات رو پاس ميدي به فرم مورد نظر. نمونه ذيل يك مثال است كه از پروژه خودم برات آوردم:


frmMoshtariEdit frm = new frmMoshtariEdit();
if (this.dgv.Rows.Count == 0)
{
MessageBox.Show("موردي براي ويرايش وجود ندارد", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
frm.Tag = dgv["IdMoshtari", dgv.CurrentRow.Index].Value.ToString();
frm.txtCodeMoshtari.Text = dgv["CodeMoshtari", dgv.CurrentRow.Index].Value.ToString();
frm.txtNameMoshtari.Text = dgv["NameMoshtari", dgv.CurrentRow.Index].Value.ToString();
frm.cmbCity.Text = dgv["City", dgv.CurrentRow.Index].Value.ToString();
frm.txtAddress.Text = dgv["Address", dgv.CurrentRow.Index].Value.ToString();
frm.txtTelPhone.Text = dgv["TelPhone", dgv.CurrentRow.Index].Value.ToString();
frm.txtMobile.Text = dgv["Mobile", dgv.CurrentRow.Index].Value.ToString();
frm.txtDetails.Text = dgv["Details", dgv.CurrentRow.Index].Value.ToString();

mohammad_sadeghi
پنج شنبه 05 مرداد 1391, 02:41 صبح
من میخوام بعد اینکه انتفال پیدا کرد به تکست باکس بتونم اونو توی پایگاه داده ویرایش کنم ... ولی هیچ کدوم از این اطلاعات کلید نیست و مشابه اون بازم توی جدول وجود داره البته هر کدوم از این رکوردها یه کلید داره ولی درون دیتا گرید من نمایش داده نمیشه بخاطر همین نمیتونم با هدر یا شماره ستون اونو استخراج کنم ... واسه همین دنبال یه را حل هستم

ali_habibi1384
پنج شنبه 05 مرداد 1391, 03:45 صبح
فيلد IdMoshtari در جدول من كليد هستش و توي ديتا گريد هم وجود داره.فقط من موقع نمايش اونو اينويزيبل ميكنم.
شما در فرم بعدي با زدن كليد ذخيره دقيقا توسط همون فيلد كليدي كه گفتم اطلاعات رو آپديت ميكني