تقييم الموضوع :
  • 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 


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

[صورة مرفقة: Dynamically_Menue.jpg]


الملفات المرفقة
.zip   DynamicMenueForDataGrid.zip (الحجم : 98.65 ك ب / التحميلات : 391)
الرد }}}
#2
فكرة ممتازة تشبه بعض البرامج المشهورة.
الرد }}}
تم الشكر بواسطة: mazen.excel , ابو ليلى , elgokr
#3
فكرة ممتازة .
الرد }}}
تم الشكر بواسطة: ابو ليلى , elgokr
#4
فكرة ممتازة ... الف شكلا لك يا استـــاذ ..
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , elgokr


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


يقوم بقرائة الموضوع: