انتخاب سطر زیر ماوس در datagridview با کلیک راست ماوس
سلام به دوستای گلم
من یه دیتا گرید ویو دارم که برایش یه Context Menu درست کردم و یه سری عملیات تو منو براش نوشتم
منتها مشکل اینجاست که من این عملیات رو برای سطر انتخاب شده لازم دارم ولی وقتی که Right Click می کنم منو باز میشه ملی سطر انتخاب شده سطر زیر نشانگر ماوس نیست و سطر قبلیه
یعنی مثلا اگه الان سطر سوم انتخاب شده باشه و من با ماوس برم روی سطر دهم و راست کلیک کنم ، عملیات رو برای سطر سوم اعمال می کنه
برای اینکه کاربر سر در گم نشه توی آیتم های منو قبل از باز شدن منو مشخصات سطر انتهاب شده رو نشون میدم
; }private void PersonContextMenu_Opening(object sender, CancelEventArgs e)
{
if (PersonDataGridView.RowCount > 0 && PersonDataGridView.SelectedRows.Count > 0)
{
ShowMenuItem.Text = "نمایش اطلاعات " + PersonDataGridView.SelectedRows[0].Cells[2].Value.ToString();
EditMenuItem.Text = "ویرایش اطلاعات " + PersonDataGridView.SelectedRows[0].Cells[2].Value.ToString();
PrintMenuItem.Text = "چاپ اطلاعات " + PersonDataGridView.SelectedRows[0].Cells[2].Value.ToString();
DeleteMenuItem.Text = "حذف " + PersonDataGridView.SelectedRows[0].Cells[1].Value.ToString() + " " + PersonDataGridView.SelectedRows[0].Cells[2].Value.ToString();
}
ولی می خوام موقع راست کلیک هم زمان سطر زیر ماوس انتخاب بشه بعد منو باز بشه
به نظر شما راهی هست یا باید از کامپوننت های دیگه استفاده کنم؟
1 ضمیمه
نقل قول: انتخاب سطر زیر ماوس در دیتا گرید ویو با کلیک راست ماوس
اینم یه تصویر از حالت انتخاب
ضمیمه 107371
همانطور که در تصویر مشخصه سطر شماره پنج قبلا انتخاب شده است و در حالت انتخاب قرار دارد بعدا که روی سطر نهم راست کلیک می کنیم مشخصات سطر پنجم نمایش داده میشه در حالی که باید قبل از باز شدن منو سطر نهم انتخاب شود بعد منو باز شود.چون زاست کلیک هم یه نوع کلیک هستش
نقل قول: انتخاب سطر زیر ماوس در دیتا گرید ویو با کلیک راست ماوس
سلام
آیا در خصوصیت ContexMenus خود Datagridview این کارو کردید؟
نقل قول: انتخاب سطر زیر ماوس در دیتا گرید ویو با کلیک راست ماوس
CurrentCell را ست کنید.
مشخصه ContextMenuStrip دیتاگرید و ستون هاش رو بزارید روی none و بعد:
private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Right)
{
dataGridView1.CurrentCell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
contextMenuStrip1.Show(MousePosition);
}
}
نقل قول: انتخاب سطر زیر ماوس در دیتا گرید ویو با کلیک راست ماوس
ممنون
بله درسته حل شد
حالا یه مشکل دیگه دارم
همونطور که در شکل هم معلومه نرم افزار مربوطه به یک دفترجه مشخصات یا همون دفترچه تلفن پیشرفته با کلی امکانات
تو شکل هم معلومه که من یه جدول برای مشخصات کلی و شناسنامه ای مخاطبان دارم و یه جدول برای مشخصاتی مانند تلفن و ایمیل و کلی مشخصات دیگه البته بصورت نا محدود برای هر مخاطب
پس هر بار که روی یک مخاطب کلیک میشه از دیتا بیس مشخصات اون مخاطب رو از جدول مشخصات بارگزاری و در دیتا گرید ویوی روبروش میریزه
حالا می خوام تو یه فرم دیگه هر دوی این دو جدول رو تو یه دیتا گرید ویو نشون بدم حداقل مثلا فقط تلفن هاشو و یا ایمیل هاشو
ولی ممکنه برای هر مخاطب بیش از یک مشخصات ثبت شده باشه (منطقا بی نهایت مشخصات)
حالاپیشنهاد شما برای این ساختار چیه؟
آیا باید از کامپوننتی همچون DevExpress استفاده کنم یا با دیتا گرید ویوی خود دات نت میشه یه جورایی دست کاریش کرد؟
https://barnamenevis.org/attachment.p...hmentid=107406
نقل قول: انتخاب سطر زیر ماوس در دیتا گرید ویو با کلیک راست ماوس
آیا میشه سطر های گرید ویو رو گروه بندی کرد طوری که مثلا چنتا چنتا به هم بچسبند و همیشه بصورت گروهی کنار هم باشند؟
یعنی چنتا ردیف در خصوصیتی (ستونی) با هم مشترک باشند و در هر شرایطی (مانند سورت) کنار هم باشند؟