تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] التعديل على الكود ليتناسق ما اريده
#1
هذا الكود عبارة عن قراءة البيانات ووضعها في listview
المطلوب هو تغيير من listview الى DataGrideView


كود :
Using conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database1.accdb;Persist Security Info=False;")
           Dim sql As String = " Select * from [Rent] WHERE [Cus_Balance] = @Cus_Balance "
           Using da As New OleDbDataAdapter(sql, conn)
               da.SelectCommand.Parameters.AddWithValue("@Cus_Balance", Val(ComboBox1.Text))
               Using dt As New DataTable
                   da.Fill(dt)
                   ListView1.Items.Clear()
                   For Each row As DataRow In dt.Rows
                       ListView1.Items.Add(New ListViewItem({row("Equ_Name"), row("Equ_Qantity"), row("Rent_Date")}))
                   Next
               End Using
           End Using
       End Using
الرد }}}
تم الشكر بواسطة:
#2
بهذة الطريقة يجلب لي كل شيء جربتها وانا اريد اجزاء معينة فقط مثل ماهو مذكور في البداية

المطلوب جلبه هو

كود :
row("Equ_Name"), row("Equ_Qantity"), row("Rent_Date")
واتمنى اني اعطي كل Colum وله اسم معين
الرد }}}
تم الشكر بواسطة:
#3
كود :
      Me.DataGridView1.ColumnCount = 2
       Me.DataGridView1.Columns(0).HeaderText = "اي اسم"
       For Each row As DataRow In dt.Rows
           Me.DataGridView1.Rows.Add(row(1), row(2))
       Next
عدل حسب ماتريد
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: أبو نوره , أبو نوره , 0theghost0
#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

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

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


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

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


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