PDA

View Full Version : كد نويسي براي Button اضافه شده به ديتاگريد



Yanehsar
پنج شنبه 19 مرداد 1391, 18:54 عصر
سلام دوستان
اگر پستم تكراري هستش معذرت ميخوام
من به ديتاگريدم button اضافه كردم حالا ميخوام براي اون كدنويسي كنم چطوري بايد اين كار رو انجام بدم؟و ايا اين كار صحيح هستش؟كه هر ركورد يه button داشته باشه و ويرايش انجام بده؟

nilmil_nil
پنج شنبه 19 مرداد 1391, 23:16 عصر
با سلام تو رویداد CellClick میتونی این کارو انجام بدی
یعنی باید چک کنی که اگر ColumnIndex برابر با اون ستونی هست که دکمه توی اون هست فلان کارو انجام بده

Yanehsar
پنج شنبه 19 مرداد 1391, 23:57 عصر
سلام اين كدها درسته؟!؟


if (dgw.CurrentRow.Cells["btntaeid"].ColumnIndex.ToString() == "0")
{
MessageBox.Show(dgw.CurrentRow.Cells["ID"].Value.ToString());
}

veniz2008
پنج شنبه 19 مرداد 1391, 23:58 عصر
سلام. علاوه بر راهنمایی های دوستمون ، میتونی از رویداد click گریدویو هم استفاده کنی( اولین خانه، مربوط به دکمه اضافه شده است):

private void dataGridView1_Click(object sender, EventArgs e)
{
if (dataGridView1.CurrentRow.Cells[0].Selected == true)
// انجام عمل مورد نظر بعد از کلیک کردن دکمه
}
موفق باشی.

Yanehsar
جمعه 20 مرداد 1391, 00:34 صبح
سلام. علاوه بر راهنمایی های دوستمون ، میتونی از رویداد click گریدویو هم استفاده کنی( اولین خانه، مربوط به دکمه اضافه شده است):

private void dataGridView1_Click(object sender, EventArgs e)
{
if (dataGridView1.CurrentRow.Cells[0].Selected == true)
// انجام عمل مورد نظر بعد از کلیک کردن دکمه
}
موفق باشی.

با اين كدها من روي هر خانه ديتاگريد كليك كنم كدها انجام ميشه همينطور كدهاي كه بالا خودم گذاشتم.فرق نداره كه روي Button كليك يا روي خانه هاي ديتاگريد؛البته اين هم بگم كه من خاصيت selection mode را برابر با FullRowSelect قرار دادم آيا موضوع ميتونه دخيل باشه؟

veniz2008
جمعه 20 مرداد 1391, 00:45 صبح
از رویداد cellMouseclick استفاده کن.

Yanehsar
جمعه 20 مرداد 1391, 00:51 صبح
فرقي نداشت بازم هم هر جا كليك ميكنم كار انجام ميشه:گریه::اشتباه:

veniz2008
جمعه 20 مرداد 1391, 01:05 صبح
دوست عزیز آدمو به شک میندازی. خودم تست کردم هیچ مشکلی نداره. فقط زمانیکه روی دکمه کلیک میشه عمل مورد نظر انجام میشه. شما از رویداد cellmouseclick استفاده کردی؟

nilmil_nil
جمعه 20 مرداد 1391, 01:07 صبح
دوست عزیز اینم کد
میخواستم با توجه به الگوریتم خودت کدش رو پیدا کنی

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 2)
{
// place here your code...
}
}

nilmil_nil
جمعه 20 مرداد 1391, 01:07 صبح
در ضمن عدد 2 هما شما ستونی هستش که button داره

Y_Safaiee
جمعه 20 مرداد 1391, 01:10 صبح
با سلام خدمت شما دوست عزیز

به اینجــــــــــا (http://barnamenevis.org/showthread.php?355534)مراجعه کن , فقط تو فیلم لینکه اونو باتون کن.

موفق باشی
بایت بایت

Yanehsar
جمعه 20 مرداد 1391, 01:17 صبح
دوست عزیز آدمو به شک میندازی. خودم تست کردم هیچ مشکلی نداره. فقط زمانیکه روی دکمه کلیک میشه عمل مورد نظر انجام میشه. شما از رویداد cellmouseclick استفاده کردی؟
91011

بله دوست عزيز نگاه كنيد خودتون. الان روي اسم "محمد موجرلو " شماره رديف به من نشون داد
91012

Yanehsar
جمعه 20 مرداد 1391, 01:20 صبح
دوست عزیز اینم کد
میخواستم با توجه به الگوریتم خودت کدش رو پیدا کنی

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 2)
{
// place here your code...
}
}


مرسي از كمكتون مشكلم حل شد

Yanehsar
جمعه 20 مرداد 1391, 01:26 صبح
دوست عزیز آدمو به شک میندازی. خودم تست کردم هیچ مشکلی نداره. فقط زمانیکه روی دکمه کلیک میشه عمل مورد نظر انجام میشه. شما از رویداد cellmouseclick استفاده کردی؟
دوست عزيز كد شما هم درسته همونطور كه گفتم مشكل از Selection mode بودش الان تغييرش دادم به RowHeaderSelect كد شما هم با اين تغيير انجام داد.ممنون از راهنمائيتون

veniz2008
جمعه 20 مرداد 1391, 01:27 صبح
جالبه. چیزی نمیتونم بگم!!. روی سیستم من که طور دیگه ای جواب میده.