منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[مشروع] تمكين المستخدم من اخفاء او اظهار اعمدة في داتاجريد - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم مكتبة كتب VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=186)
+--- الموضوع : [مشروع] تمكين المستخدم من اخفاء او اظهار اعمدة في داتاجريد (/showthread.php?tid=15554)



تمكين المستخدم من اخفاء او اظهار اعمدة في داتاجريد - mazen.excel - 22-04-16

اليكم اخواني الاعزاء بهذا المنتدى طريقة عمل قائمة لاظهار او اخفاء الاعمدة في الداتاجريد عند الضغط بيمين الماوس على العمود

يجب مراعاة اضافة   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 


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




RE: تمكين المستخدم من اخفاء او اظهار اعمدة في داتاجريد - derham - 22-04-16

فكرة ممتازة تشبه بعض البرامج المشهورة.


RE: تمكين المستخدم من اخفاء او اظهار اعمدة في داتاجريد - IBRA939 - 12-04-17

فكرة ممتازة .


RE: تمكين المستخدم من اخفاء او اظهار اعمدة في داتاجريد - aboali2 - 09-11-17

فكرة ممتازة ... الف شكلا لك يا استـــاذ ..