PDA

View Full Version : سوال: استفاده از اطلاعات دیتاگرید در فرم دیگر



niloofar norouzi
یک شنبه 03 خرداد 1388, 14:21 عصر
با سلام

پر شدهWizard من در یکی از فرم ها از دیتا گرید استفاده کردم که به صورت

حالا من می خوام به اطلاعات گرید در فرم دیگری دسترسی داشته باشم

لطفا راهنمایی بفرمایید چه طور این مشکلو حل کنم

با تشکر

adinochestva
یک شنبه 03 خرداد 1388, 14:39 عصر
راحتترين كار public كردن datagridview هست

pesar irooni
یک شنبه 03 خرداد 1388, 15:11 عصر
باید از طریق property و یا متغیر ها این کار رو بکنی.
یعنی یک متغیر از نوع DataGridView بسازی و اون رو Public قرار بدی که از بیرون قابل دسترسی باشه. سپس تو رویداد Deactivate از فرم دومت مقدار این متغیر رو برابر datagird استفاده شده تو فرم دومت قرار بدی. مثلا اگه اسم متغیرت dgv هست و اسم دیتاگریدت DataGridView1 اینو مینویسی :


private void Form2_Deactivate(object sender, EventArgs e)
{
dgv = dataGridView1;
}

حالا تو فرم اولت میتونی به تمام اطلاعات اون دیتاگرید دسترسی داشته باشی.
مثلا اگه اسم فرمت که new کردی myForm2 باشه با این دستور : myForm2.dgv
البته میتونی این بلا رو سر خود DataGridView که تو فرم دوم استفاده کردی بیاری. یعنی باید بری تو Designer فرم دوم و نوع اون رو Public کنی که ابدا چنین کاری رو پیشنهاد نمیکنم و اگه نحوه کار با Property ها رو بلدید پیشنهاد میکنم از Propety استفاده کنید که فقط ReadOnly باشه.
همه اینها به کنار، چون گفته بودید اطلاعات دیتاگرید من کل اطلاعات دیتاگرید رو فرض کردم. ولی اگه فقط اطلاعاتی که داره نمایش میده یعنی از یه جدول تو دیتابیس بهتره از خاصیت DataSource اون استفاده کنی و اون رو به عنوان متغیر به بیرون پاس بدی.

farshad_frk
یک شنبه 03 خرداد 1388, 15:15 عصر
salam doste man
age eshtebah bnakonam mikhain maslan karbar 1 row ro entekhab kone va bad 1 form jadid ke havi etelate on form mishado be dast biarin

DataRowView drv = (DataRowView)grd.SelectedRows[0].DataBoundItem;
hala ma sater entekhab shodaro darim
ba estefade az sotone grid mitonim etelatemono dashte bashim bedin sorat
int id = (int)drv.Row["ID"];
khob kar tamom shod ma code mored nazaro darim
miton on be 1 form dige pas bedim
hala dige nobate shomast
frk