تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[مشروع] تمكين المستخدم من اخفاء او اظهار اعمدة في داتاجريد
#1
اليكم اخواني الاعزاء بهذا المنتدى طريقة عمل قائمة لاظهار او اخفاء الاعمدة في الداتاجريد عند الضغط بيمين الماوس على العمود

يجب مراعاة اضافة   ContextMenu تسميتها MnuColumn

أولا: كود انشاء القائمة

PHP كود :
   Private Sub CreatMenue()
 
       Me.mnuColumn.ShowCheckMargin True
        Dim ii 
As Integer
        For ii 
1 To Me.DataGridView1.ColumnCount 1
            Dim noCheckNoImage 
As New ToolStripMenuItem(Me.DataGridView1.Columns(ii).HeaderText())
 
           Me.mnuColumn.Items.Add(noCheckNoImage)
 
           noCheckNoImage.Checked True
        Next
    End Sub 


ويمكن اضافة الحدث في Form_Load


ثانيا: تعريف حدث الاخفاء او الاظهار في ContextMenu

PHP كود :
   Private Sub mnuColumn_ItemClicked(sender As ObjectAs System.Windows.Forms.ToolStripItemClickedEventArgsHandles mnuColumn.ItemClicked

        Dim noCheckNoImage 
As ToolStripMenuItem
        noCheckNoImage 
e.ClickedItem
        For i 
As Integer 0 To DataGridView1.Columns.Count 1
            If e
.ClickedItem.ToString DataGridView1.Columns(i).HeaderText And noCheckNoImage.CheckState CheckState.Checked Then
                DataGridView1
.Columns(i).Visible False
                noCheckNoImage
.CheckState CheckState.Unchecked
            ElseIf e
.ClickedItem.ToString DataGridView1.Columns(i).HeaderText And noCheckNoImage.CheckState CheckState.Unchecked Then
                DataGridView1
.Columns(i).Visible True
                noCheckNoImage
.CheckState CheckState.Checked
            End 
If
 
       Next
    End Sub 


ثالثا: اظهار القائمة عند الضغط بيمين الماوس على عمود الداتاجريد

PHP كود :
   Private Sub DataGridView1_MouseDown1(sender As ObjectAs MouseEventArgsHandles DataGridView1.MouseDown
        If e
.Button Windows.Forms.MouseButtons.Right Then
            Dim ht 
As DataGridView.HitTestInfo
            ht 
Me.DataGridView1.HitTest(e.Xe.Y)

 
           If ht.Type DataGridViewHitTestType.ColumnHeader Then
                DataGridView1
.ContextMenuStrip mnuColumn
            End 
If
 
       End If
 
   End Sub 


اخيرا تكون النتيجة هكذا



الملفات المرفقة
.zip   DynamicMenueForDataGrid.zip (الحجم : 98.65 ك ب / التحميلات : 90)
الرد }}}}
تم الشكر بواسطة: derham
#2
فكرة ممتازة تشبه بعض البرامج المشهورة.
الرد }}}}
تم الشكر بواسطة: mazen.excel


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم