منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : سؤال DataGridViwe
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة وبركاته
استفساري هل يوجد طريقه بحيث اني اضع عمود بشكل يدوي في DataGridViwe   أضافة العمود Button  بسيطه لكن يحمل ايقونه ما عرفت أٍسويها
كشك اجمل
هذا الاجراء يقوم بوضع زر امر لكل صف فى الجريد مع وضع ايقونة له و اسم العمود

 ''' <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
وعليكم السلام ورحمة الله وبركاته

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

كود :
       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

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