PDA

View Full Version : کد نویسی برای دکمه های گرید ویو



reza_majid68
جمعه 06 آبان 1390, 11:10 صبح
سلام
از ادمین محترم خواهش میکنم این. حذف نکنه . چند بار پرسیدم ولی کسی جواب نداده . لازم دارم شدیدا
شرح مسئله :
یه گرید ویو دارم که اطلاعات رو از دیتا بیس میخونه . حالا خودم یه دکمه براش گذاشتم به نام ویرایش و به گرید ویو اضافه کردم . حالا میخوام با کلیک روی اون به یه فرم دیگه برم و مقدار فیلد کلید اصلی رو انتقال بدم به اون فرم .
باید چیکار کنم ؟
واسه اون دکمه باید کجا کد بنویسم ؟
ترو خدا جامع و کامل جواب بدین

reza_majid68
جمعه 06 آبان 1390, 21:47 عصر
یعنی کسی نیست اینو جواب بده؟

sobaisobai
جمعه 06 آبان 1390, 21:54 عصر
سلام
چه کلید اصلی رو میخوای بفرستی واسه فرم2؟
کلید اصلی جدوله دیتابیست؟

shahrzad87
جمعه 06 آبان 1390, 21:54 عصر
سلام
اسن تایپیک رو ببینید:
http://barnamenevis.org/showthread.php?245726-%D9%85%D8%B7%D8%A7%D9%84%D8%A8%DB%8C-%DA%A9%D9%85%DB%8C%D8%A7%D8%A8-%D8%AF%D8%B1-%D9%85%D9%88%D8%B1%D8%AF-Data-Grid-View



private void dataGridView1_CellMouseClick( object sender , DataGridViewCellMouseEventArgs e )
{
if ( e.ColumnIndex == dataGridView1.Columns[ "Col_Button" ].Index && e.Button == MouseButtons.Left )
{

// در هر سطر انجام شود را اینجا بنویسید Button کاری را که می خواهید در هنگام کلیک بر روی
// به طور مثال
dataGridView1[ "Col_Name" , e.RowIndex ].Value = e.RowIndex + 1;
dataGridView1.Rows.Add();
}
}

reza_majid68
جمعه 06 آبان 1390, 22:00 عصر
این 2 خط آخر چیکار میکنه ؟

sobaisobai
جمعه 06 آبان 1390, 22:08 عصر
سلام
ببین منظورت اینه؟

Himalaya
جمعه 06 آبان 1390, 22:36 عصر
سلام

private void dataGridView1_CellMouseClick( object sender , DataGridViewCellMouseEventArgs e )
ایونت CellMouseClick اگه روی هر قسمت از سلول حاوی دکمه کلیک کنی اجرا میشه (این قسمت میتونه فضای خالی سلول باشه)
از ایونت CellContentClick استفاده کن


protected void ProcessTable_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (ProcessTable.Columns[e.ColumnIndex].Name == "Stop")
{
...
}
}

reza_majid68
جمعه 06 آبان 1390, 23:07 عصر
دوستان به جواب نرسیدم . میخوام وقتی روی یه سطر روی دکمه edit که کلیک میکنم . بره به فرم دیگه

haniyehghassami
شنبه 07 آبان 1390, 00:17 صبح
سلام


shahrzad87
ممنون از این آدرس نوشتم اگه توجه میکرذین جواب میداد


private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.ColumnIndex==dataGridView1.Columns["Column1"].Index && e.Button==MouseButtons.Left)
{
Form2 f2 = new Form2();
f2.ShowDialog();
}
}



==========برای گذاشتن دکمه در دیتاگرید: زمانیکه دیتاگرید گذاشتین تو صفحه اون مثلث کوچولوی بالاش و بزنین و گزینه های زیر را برید انجام بدید
Add column----->name bezar vasash----->type masalan checkbox ya button ya ..---->va vasash header text bzn man inja hamun headere column1 zadam
از راه edit columnهم میشه همون گزینه ها هست دیگه

shahrzad87
شنبه 07 آبان 1390, 00:17 صبح
protected void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (dataGridView1.Columns[e.ColumnIndex].Name == "نام ستون دکمه")
{
Form2 f2 = new Form2();
f2.ShowDialog();
}
}

asadegha
شنبه 07 آبان 1390, 00:49 صبح
سلام.
توضیح دوستان کامل بود.
بازم اگه گیر داری پروژتو بزار اینجا بینیم چی می خوای.

برای ارسال یه مقدار از Form1 به Form2 هم کارهای زیرو انجام بده:

1- یه متغیر که هم public و هم static باشه تو Form1 درست کن.(public static string str;)
2- وقتی دکمه edit رو زدی مقداری که می خوای تو form2 نشون بدی رو بریز تو متغیری که تو بند 1 درست کردی.
3-تو form2 با استفاده از نام (نام فرم1.نام متغیر) می تونی بهش دسترسی داشته باشی. (textbox1.text=Form1.str;)

reza_majid68
شنبه 07 آبان 1390, 13:58 عصر
از همه دوستان که جواب دادن متشکرم به جواب رسیدم