PDA

View Full Version : مشکل با موقعیت context menu در WPF



mohammad2407
جمعه 01 اسفند 1393, 03:23 صبح
سلام دوستان من به دیا گرید یک context menu اضافه کردم ولی هر جای دیتا گرید که کلیک میکنم این context menu باز میشه

چکار باید بکنم که فقط روی یک رکورد انتخاب شده باز بشه

در وین فرم این کار به سادگی با رویداد CellMouseDown دیتا گرید قابل انجام بود :لبخند:

mohammad2407
شنبه 02 اسفند 1393, 20:16 عصر
دوستان میشه راهنمایی کنید

SabaSabouhi
یک شنبه 03 اسفند 1393, 00:04 صبح
دوستان میشه راهنمایی کنید

سلام
من متوجه مشکل نشدم، آیا مشکل اینه که مثلاً رو فضای خالی و روی header و غیره هم اون منو باز می‌شه اما نمی‌خواهی باز بشه؟

صبا صبوحی

Mani_rf
یک شنبه 03 اسفند 1393, 10:35 صبح
سلام دوستان من به دیا گرید یک context menu اضافه کردم ولی هر جای دیتا گرید که کلیک میکنم این context menu باز میشه

چکار باید بکنم که فقط روی یک رکورد انتخاب شده باز بشه

در وین فرم این کار به سادگی با رویداد CellMouseDown دیتا گرید قابل انجام بود :لبخند:

الان شما توی کدوم رویداد کدها رو نوشتی؟

mohammad2407
یک شنبه 03 اسفند 1393, 15:09 عصر
بله من میخوام فقط منو روی رکورد ها نمایش داده بشه یعنی روی فضای خالی و هیدر دیتا گرید باز نشه

SabaSabouhi
یک شنبه 03 اسفند 1393, 18:50 عصر
بله من میخوام فقط منو روی رکورد ها نمایش داده بشه یعنی روی فضای خالی و هیدر دیتا گرید باز نشه

سلام
DataGrid یه متد داره به نام HitTest با اون می‌تونی دقیق بفهمی که کجا click شده.
https://msdn.microsoft.com/en-us/library/et7ts448(v=vs.110).aspx

صبا صبوحی

mohammad2407
یک شنبه 03 اسفند 1393, 19:19 عصر
من میخوام که منو فقط و فقط روی رکورد باز بشه !

کار دیگه ای نمیخوام کنم

SabaSabouhi
یک شنبه 03 اسفند 1393, 21:17 عصر
من میخوام که منو فقط و فقط روی رکورد باز بشه !

کار دیگه ای نمیخوام کنم

سلام
خوب من که لینک فرستادم برات، اون رو استفاده کن و شرط کن که فقط روی رکورد باشه.

صباصبوحی

mohammad2407
یک شنبه 03 اسفند 1393, 22:23 عصر
لینکی که قرار دادین باز نمیشه باز نمیشه

SabaSabouhi
دوشنبه 04 اسفند 1393, 09:12 صبح
لینکی که قرار دادین باز نمیشه باز نمیشه

سلام
لینک مال سایت مایکروسافت هست که جزو معدود سایت‌هایی هست که نه از داخل کشور فیلتره و نه از خارج کشور.
همین الان هم تستش کردم. مشکلی نداره.

صبا صبوحی

mohammad2407
دوشنبه 04 اسفند 1393, 10:47 صبح
دوست عزیز ارور 502 میده

اگر کدی هست قرار بدین

SabaSabouhi
دوشنبه 04 اسفند 1393, 13:10 عصر
دوست عزیز ارور 502 میده

اگر کدی هست قرار بدین

سلام

502 Bad Gateway
The server was acting as a gateway or proxy and received an invalid response from the upstream server.

نگاه کن ببین proxy یا gateway خاصی تنظیم کردی، یا شاید فیلتر شکن داری.
شاید هم مربوط به provider شما باشه.
سایت مایکروسافت تنها سایتی هست که هرگز ندیدم مشکلی با ایران داشته باشه.

private DataGridViewCell clickedCell;


private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
{
// If the user right-clicks a cell, store it for use by the shortcut menu.
if (e.Button == MouseButtons.Right)
{
DataGridView.HitTestInfo hit = dataGridView1.HitTest(e.X, e.Y);
if (hit.Type == DataGridViewHitTestType.Cell)
{
clickedCell =
dataGridView1.Rows[hit.RowIndex].Cells[hit.ColumnIndex];
}
} }



این هم کپی یه مثال. امیدوارم که مشکلت رو حل کنه.

صبا صبوحی

پانوشت: بابت به هم ریخته بود کد هم پوزش می‌خواهم، کد از اینترنت کپی شده.