به نام خدا
در زبان برنامه نویسی سی شارپ(2008)
من دوتا فرم دارم که تو اولی یک دیتا گرید ویو هست
می خوام وقتی روی یکی از رکوردهای دیتا گریدم دابل کلیک میکنم تمام اون فیلدها در فرم دوم درون تکست باکس ها لود بشه
ممنون میشم کمکم کنید.
Printable View
به نام خدا
در زبان برنامه نویسی سی شارپ(2008)
من دوتا فرم دارم که تو اولی یک دیتا گرید ویو هست
می خوام وقتی روی یکی از رکوردهای دیتا گریدم دابل کلیک میکنم تمام اون فیلدها در فرم دوم درون تکست باکس ها لود بشه
ممنون میشم کمکم کنید.
اگر ارتباطتون با دیتابیس از طریق کلاس باشه:نقل قول:
ممنون میشم کمکم کنید.
سازنده ی فرم دوم،شامل اطلاعات دریافتی از فرم اول خواهد بود(فیلد های رکورد مورد نظر که روش کلیک کردین...)...
بعدش هم که سادس.... کافیه فرم 2 به دیتابیس وصل بشه،داده های مورد نظر رو دریافت کنه و توی تکست باکس ها نمایش بده...
اگر مشکلتون اینه که چجوری داده ها رو توی تکست باکس نشون بدین،بگین تا کامل تر توضیح بدم!
دقيقا مشكلم همينهنقل قول:
ممنون ميشم كدهاشو برام بزارين و كمي برام توضيح بدين
نقل قول:این کدها رو توی رویداد CellDoubleClick بنویسکد:form2.txtID2.Text = DataGridView1.CurrentRow.Cells(0).Value.ToString()
form2.txtName.Text = DataGridView1.CurrentRow.Cells(1).Value.ToString()
form2.xtFamily.Text = DataGridView1.CurrentRow.Cells(2).Value.ToString()
form2.txtNID.Text = DataGridView1.CurrentRow.Cells(3).Value.ToString()
البته کدها به زبان vb.net هست که راحت با ابزارهای آنلاین میتونی به سی شارپ برگردونی
اگر همچنان مشکل دارین و کد های جناب حماس! بهتون کمک نکرده،بگین تا بگم!!
دوستان از همتون تشکر میکنم
اما اون کدها هم جواب نداد:41::41::41:
ممنون میشم بیشتر کمکم کنید
بنام خدا.
سلام.
در فرم دوم خود که کادر متن وجود دارید فیلد زیر را اضافه کنید:
در کد بالا textBox1 نام کادر متنی میباشد که میخواهید فیلد دیتاگراد در آن قرار بگیرد.کد:public string DataName
{
get { return textBox1.Text; }
set { textBox1.Text = value; }
}
در فرم اول خود به رویداد CellDoubleClick دیتاگرید رفته (همانطور که یکی از دوستان اشاره کردند)و کد زیر را تایپ کنید:
موفق و سربلند باشید.کد:private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0)
return;
object value=dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
if (value != null)
{
Form2 frm = new Form2() { DataName = value.ToString() };
frm.Show();
}
}
یا علی:11:
البته یادم رفت بگم که در آخر باید فرم2 رو نمایش یدید....
یعنی در آخر کدی که من نوشتم بنویس frm2.show()
با سلامنقل قول:
از اینکه وسط بحث وارد می شم عذر می خوام:11:
درست نیست که یک فرم به کنترل های فرم دیگه (textBox,...) دسترسی داشته باشه.
در لینک زیر به صورت مبسوط راجع به این موضوع بحث شده است.
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ممنون از پاسخدهی عالیتون. واقعا تشکر میکنم. اما همونطور که در سوالم مطرح کردمنقل قول:
اما در جوابی که شما مطرح فرمودین، فقط یک خونه و اون هم در یک تکست باکس(تکست باکس 1) نمایش داده میشه.نقل قول:
می خوام وقتی روی یکی از رکوردهای دیتا گریدم دابل کلیک میکنم تمام اون فیلدها در فرم دوم درون تکست باکس ها لود بشه