PDA

View Full Version : انتقال اطلاعات بین datagridview دو فرم جداگانه



شهابسلطانی
چهارشنبه 04 دی 1398, 15:39 عصر
با سلام
دوستان من دوتا فرم دارم (فرم یک و فرم دو)
فرم یک دارای یک دیتا گرید هست و یک دکمه(با زدن دکمه فرم دو نمایش داده میشه)
فرم دو هم دارای یک دیتا گرید و یک باتن هست
حالا میخوام در فرم دوم با انتخاب یک سطر از دیتا گرید و کلیک بر روی باتن فرم حاضر (دوم) بسته بشه
و فرم اول آپدیت بشه و اطلاعات سطری که انتخاب شده بهش انتقال پیدا بکنه

در مورد کد انتقال اطلاعات مشکل ندارم فقط مشکلم اینه که نمیتونم با زدن دکمه فرم دوم فرم اول رو آپدیت کنم
ممنونم

the king
چهارشنبه 04 دی 1398, 17:13 عصر
با سلام
دوستان من دوتا فرم دارم (فرم یک و فرم دو)
فرم یک دارای یک دیتا گرید هست و یک دکمه(با زدن دکمه فرم دو نمایش داده میشه)
فرم دو هم دارای یک دیتا گرید و یک باتن هست
حالا میخوام در فرم دوم با انتخاب یک سطر از دیتا گرید و کلیک بر روی باتن فرم حاضر (دوم) بسته بشه
و فرم اول آپدیت بشه و اطلاعات سطری که انتخاب شده بهش انتقال پیدا بکنه

در مورد کد انتقال اطلاعات مشکل ندارم فقط مشکلم اینه که نمیتونم با زدن دکمه فرم دوم فرم اول رو آپدیت کنم
ممنونم
در فرم اول مشخصه Modifiers اون DataGridView رو از Private پیشفرض به Public تغییر می دهید تا در فرم دوم بهش دسترسی داشته باشیم.
بعد موقعی که میخواهید فرم دوم رو باز کنید، با this شیء فرم اول رو به عنوان Owner (صاحبش) معرفی می کنیم :

using (var f = new Form2())
{
f.ShowDialog(this);
}

حالا در فرم دوم با Owner به فرم اول (متغیر f) و DataGridView اش دسترسی دارید (با متغیر f.dataGridView1) و می توانید هر بلایی خواستید سرش بیارید و نهایتا فرم رو ببندید :

var f = (Form1)Owner;
var row = (DataGridViewRow)dataGridView1.SelectedRows[0];
f.dataGridView1.Rows.Add(row.Cells[0].Value, row.Cells[1].Value);
DialogResult = DialogResult.OK;
Close();

شهابسلطانی
چهارشنبه 04 دی 1398, 20:27 عصر
در فرم اول مشخصه Modifiers اون DataGridView رو از Private پیشفرض به Public تغییر می دهید تا در فرم دوم بهش دسترسی داشته باشیم.
بعد موقعی که میخواهید فرم دوم رو باز کنید، با this شیء فرم اول رو به عنوان Owner (صاحبش) معرفی می کنیم :

using (var f = new Form2())
{
f.ShowDialog(this);
}

حالا در فرم دوم با Owner به فرم اول (متغیر f) و DataGridView اش دسترسی دارید (با متغیر f.dataGridView1) و می توانید هر بلایی خواستید سرش بیارید و نهایتا فرم رو ببندید :

var f = (Form1)Owner;
var row = (DataGridViewRow)dataGridView1.SelectedRows[0];
f.dataGridView1.Rows.Add(row.Cells[0].Value, row.Cells[1].Value);
DialogResult = DialogResult.OK;
Close();



آقا عالی بود
آقا شما از 20 هم سرتر هستید
ماشالله به دانشتون ماشالله

:تشویق::تشویق::تشویق::تشویق:: شویق::تشویق::تشویق::تشویق::ت ویق::تشویق::تشویق::تشویق::تش یق::تشویق::تشویق::تشویق::تشو ق: