منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
سؤال DataGridViwe - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : سؤال DataGridViwe (/showthread.php?tid=26270)



سؤال DataGridViwe - DOX.1 - 29-08-18

السلام عليكم ورحمة وبركاته
استفساري هل يوجد طريقه بحيث اني اضع عمود بشكل يدوي في DataGridViwe   أضافة العمود Button  بسيطه لكن يحمل ايقونه ما عرفت أٍسويها
كشك اجمل


RE: سؤال DataGridViwe - heshamelkomy - 30-08-18

هذا الاجراء يقوم بوضع زر امر لكل صف فى الجريد مع وضع ايقونة له و اسم العمود

 ''' <summary>
    ''' اضافة زر امر للداتاجريد فيو
    ''' </summary>
    ''' <param name="imag">اسم زر الامر</param>
    ''' <param name="DataGridView_name">اسم الداتا جريد فيو</param>
    ''' <param name="Columns_index">رقم العمود</param>
    ''' <param name="image_name">اسم الصورة بامتاداد png</param>
    ''' <param name="Header_text">عنوان العمود</param>
    ''' <remarks></remarks>
    Public Sub btn_image_add(ByVal imag As String, ByVal DataGridView_name As DataGridView, ByVal Columns_index As Integer, ByVal image_name As String, ByVal Header_text As String)

        Dim Add_Image As New DataGridViewImageColumn
        On Error Resume Next
        DataGridView_name.Columns.Remove(imag)
        With Add_Image
            .Name = imag
            .HeaderText = Header_text
            .Width = 45
            .DefaultCellStyle.ForeColor = System.Drawing.Color.Red
            .Image = System.Drawing.Image.FromFile(Application.StartupPath & "\icon\" & image_name & ".png")
        End With
        DataGridView_name.Columns.Insert(Columns_index, Add_Image)

        'استدعاء اجراء الحدث للزر
        'Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
        '    If e.ColumnIndex = 10 Then
        '        MsgBox(("Row : " + e.RowIndex.ToString & "  Col : ") + e.ColumnIndex.ToString)
        '        myconn.inser_update_delete("delete from tb_invoice_sale_detil where Details_id=" & DataGridView1.CurrentRow.Cells(0).Value & "")
        '        DataGridView1.Rows.RemoveAt(DataGridView1.SelectedRows(0).Index)
        '    End If
        'End Sub

    End Sub


RE: سؤال DataGridViwe - elgokr - 30-08-18

وعليكم السلام ورحمة الله وبركاته

بخصوص انشاء عمود يدوى ويحتوى على زر
فكل ما عليك فعله هو استخدام الكود بهذا الشكل 

كود :
       Dim btn As New DataGridViewButtonColumn
       btn.HeaderText = "عنوان العمود"
       btn.Text = "عنوان الزر" ' "عنوان الزر"
       btn.Name = "DGVButton" ' اسم الزر
       btn.UseColumnTextForButtonValue = True
       DataGridView1.Columns.Insert(3, btn) ' قم بتغيير رقم 3 الى رقم اخر رقم الاعمدة

تذكر بان رقم 3 الموجود باخر سطر هو رقم العمود الذى سيتم انشائه و ادراج الزر به
فمثلاً اذا كان لديك 10 اعمدة فى الداتا جريد فيو فانت تكتب رقم 10 بدلاً من 3
حيث ان 10 التى تظهر لديك تعنى 9 لان العد يبداء من 0 وليس 1

تحياتى لك
وتمنياتى لك التوفيق