تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] التعديل على الكود ليتناسق ما اريده
#4
تفضل صديقي ، حسب راي افضل طريقه للتعامل مع ال gridview 
كود :
 Sub FillGrid_yearly()
        DataGrid1.CancelEdit()
        DataGrid1.Columns.Clear()
        DataGrid1.DataSource = Nothing

        'Delete Button
        Dim btnDelete As New DataGridViewButtonColumn()
        btnDelete.FlatStyle = FlatStyle.Flat

        Dim datee = New CalendarColumn() With {.HeaderText = "التاريخ"}
        datee.DefaultCellStyle.Format = "dd-MM-yyyy"
        datee.DataPropertyName = "Date"

        DataGrid1.Columns.Insert(0, btnDelete)
        DataGrid1.Columns.Add("", "أسم المستاجر")
        DataGrid1.Columns.Add("", "رقم الهوية")
        DataGrid1.Columns.Add("", "رقم العقد")
        DataGrid1.Columns.Add("", "رقم المحل")
        DataGrid1.Columns.Add("", "قيمة الدفعة")
        DataGrid1.Columns.Add("", "طريقة الدفع")
        DataGrid1.Columns.Add(datee)
        DataGrid1.Columns.Add("", "الملاحظات")
        DataGrid1.Columns.Add("", "id")
        DataGrid1.Columns.Add("", "")
        DataGrid1.Columns(9).Visible = False
        Dim sqlstring As String = "Select * FROM payments_view ORDER BY date DESC"
        'فحص الاتصال بقاعدة البيانات
        If SQL.conn.State = ConnectionState.Open Then
            SQL.conn.Close()
        End If
        SQL.conn.Open()
        Dim adt As New SqlDataAdapter(sqlstring, SQL.conn)
        Dim dt As New DataTable
        adt.Fill(dt)
        Dim i As Integer
        For i = 0 To dt.Rows.Count - 1
            DataGrid1.Rows.Add()
            DataGrid1.Rows(i).Cells(1).Value = dt.Rows(i).ItemArray(1)
            DataGrid1.Rows(i).Cells(2).Value = dt.Rows(i).ItemArray(2)
            DataGrid1.Rows(i).Cells(3).Value = dt.Rows(i).ItemArray(3)
            DataGrid1.Rows(i).Cells(4).Value = dt.Rows(i).ItemArray(4)
            DataGrid1.Rows(i).Cells(5).Value = dt.Rows(i).ItemArray(5)
            DataGrid1.Rows(i).Cells(6).Value = dt.Rows(i).ItemArray(6)
            DataGrid1.Rows(i).Cells(7).Value = Format(dt.Rows(i).ItemArray(8), "dd-MM-yyyy")
            DataGrid1.Rows(i).Cells(8).Value = dt.Rows(i).ItemArray(9)
            DataGrid1.Rows(i).Cells(9).Value = dt.Rows(i).ItemArray(0)
        Next
        SQL.conn.Close()

        Dim rowNumber As Integer = 1
        For Each row As DataGridViewRow In DataGrid1.Rows
            If row.IsNewRow Then Continue For
            row.HeaderCell.Value = "" & rowNumber
            rowNumber = rowNumber + 1
        Next

        DataGrid1.Columns(10).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
        'كود خاص بتخطيط الجريد فيو
        DataGrid1.CellBorderStyle = DataGridViewCellBorderStyle.SingleHorizontal
        Me.DataGrid1.GridColor = Color.WhiteSmoke
    End Sub


من خلال هذا الكود يمكنك اضافع صوره ( صوره X مثلا ) لحذف سطر 

كود الصوره :

كود :
    Private Sub DataGrid1_CellPainting(sender As Object, e As DataGridViewCellPaintingEventArgs) Handles DataGrid1.CellPainting
        Try
            If e.ColumnIndex = 0 AndAlso e.RowIndex >= 0 Then
                e.Paint(e.CellBounds, DataGridViewPaintParts.All)
                Dim bmpFind As Bitmap = My.Resources.Delete_25
                Dim ico As Icon = Icon.FromHandle(bmpFind.GetHicon)
                e.Graphics.DrawIcon(ico, e.CellBounds.Left, e.CellBounds.Top - 1)
                e.Handled = True
            End If
        Catch ex As Exception

        End Try
    End Sub




ويمكنك حذف السطر باستخام هذا الكود :

كود :
Dim id As Integer
    Private Sub DataGrid1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGrid1.CellContentClick
        id = DataGrid1.SelectedRows(0).Cells(9).Value

        If e.ColumnIndex = 0 Then

            If MessageBox.Show("هل تريد حقا حذف هذة الدفعة نهائيا ؟", "حذف", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) = DialogResult.No Then
                Return
            End If
            Try
                SQL.conn.Open()
                Dim sqlstring As String = "delete from payments where id=" & id
                Dim cmd As New SqlCommand(sqlstring, SQL.conn)
                cmd.ExecuteNonQuery()
                SQL.conn.Close()
                Payments.pay_NotifyIcon.Visible = True
                Payments.pay_NotifyIcon.ShowBalloonTip(1000, "مجمعات ابو الأسد التجارية", "تم حذف السجل بنجاح", ToolTipIcon.Info)
                Payments.Timer1.Start()
                FillGrid_yearly()
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try

        End If
    End Sub

ويمكند تحديث البيانات و العديد من الاشياء

الرد }}}
تم الشكر بواسطة: أبو نوره , سعود


الردود في هذا الموضوع
RE: التعديل على الكود ليتناسق ما اريده - بواسطة Rabeea Qbaha - 15-09-17, 05:13 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Information ما هو الخطاء في الكود ProgressBar1 Mostafa201255411 1 195 26-11-25, 08:19 PM
آخر رد: asmarsou
  [VB.NET] مساعدة تعديل على الكود ZEEN4ZEEN 2 215 08-10-25, 02:20 PM
آخر رد: salamandal
Rainbow [كود] تصحيح الخطاء في الكود محمد مسافر 2 1,051 28-08-25, 09:13 AM
آخر رد: محمد مسافر
Rainbow [كود] تصحيح الخطاء في الكود محمد مسافر 0 844 27-08-25, 04:05 PM
آخر رد: محمد مسافر
  ما هو الخطأ فى هذا الكود خالد كامل1 10 1,181 28-05-25, 09:16 PM
آخر رد: خالد كامل1
  ارجو تعديل الكود بواستطة الاجراء المخزن new_programer 3 678 03-04-25, 02:44 PM
آخر رد: princelovelorn
  مساعدة في تحويل الكود من فيجوال بسيك 6 الى فيجوال دوت نت سيد أحمد 5 821 23-03-25, 10:54 PM
آخر رد: سيد أحمد
  ارجو تعديل الكود جلب البيانات عن طريق اجراء مخزن - مرفق مثال new_programer 0 621 05-02-25, 01:51 AM
آخر رد: new_programer
  ارجو تقيم الكود المرفق - جلب اعلي رقم لتسلسل نصي للباركود new_programer 4 604 30-01-25, 08:26 AM
آخر رد: new_programer
  هذا الكود لا يعمل بشكل صحيح لماذا ؟ PeterGhattas082460 3 450 21-12-24, 02:55 PM
آخر رد: aljzazy

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


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