منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] اضافة سجل في datagridview1 - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم أسئلة قواعد البيانات تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=41)
+--- الموضوع : [VB.NET] اضافة سجل في datagridview1 (/showthread.php?tid=10390)

الصفحات: 1 2


RE: اضافة سجل في datagridview1 - البراء - 20-10-14

(20-10-14, 10:46 AM)Abu Ehab كتب : السلام عليكم
الأمر سهل جدا
أنا عملت لك مثال على السريع
مع أني تركت البيسك  حاليا  ولا أستخدمها
شوف :
لنفرض مثلا عندنا داتا جريد فيوو فيها 3 أعمده  ومجموعه لا محدوده من السطور
وعايزين نجمع الأعمده في سطر منفصل في أخر سجل للجريدفيوو

أنا عملت هنا 3 أعمده
الأول للمنتج
التاني للشراء
التالث للأرباح
وجمعتهم وأظهرتهم في سجل منفصل في اخر الجريدفيوو  وكمان تم تلوين السطر بلون مختلف حتى يكون واضح لك .
وكمان رقمت لك السطور Wink





PHP كود :
Public Class Form1
    Sub CreateGrd
()
 
       With DataGridView1
            
.ColumnCount 3
            
.Columns(0).HeaderText "Product"
 
           .Columns(1).HeaderText "Cost Pice"
 
           .Columns(2).HeaderText "Profit"
 
       End With
    End Sub
    Private Sub Form1_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        CreateGrd
()

 
   End Sub

    Private Sub Button1_Click
(sender As ObjectAs EventArgsHandles Button1.Click

        Dim TotalCostPrice 
As Integer = (From rr As DataGridViewRow In DataGridView1.Rows _
                                        Select CInt
(rr.Cells(1).Value)).Sum()

 
       Dim TotalProfie As Integer = (From rr As DataGridViewRow In DataGridView1.Rows _
                                   Select CInt
(rr.Cells(2).Value)).Sum()

 
       DataGridView1.Rows.Add(New String() {"Total"TotalCostPriceTotalProfie})


 
       For Each r As DataGridViewRow In DataGridView1.Rows

            r
.HeaderCell.Value = (r.Index 1).ToString()
 
           If r.Cells(0).Value "Total" Then
                r
.DefaultCellStyle.ForeColor Color.White
                r
.DefaultCellStyle.BackColor Color.Black
            End 
If



 
       Next


    End Sub
End 
Class 

في البداية اكثر شيء افرحني بالمنتدى رد اخي ابو ايهاب بعد تجربة الكود على بيانات معروضة من قاعدة البيانات تظهر نفس رسالة الخطأ التالية (يتعذر إضافة صفوف إلى مجموعة صفوف DataGridView برمجيًا عندما يكون عنصر التحكم مرتبطًا ببيانات.)  تم تجربة الكود على مثال اخي  benomar  ولتوضيح اكثر مرفق المثال


RE: اضافة سجل في datagridview1 - Abu Ehab - 20-10-14

عمرها ما حصلت أنه :
أبوأيهاب يرفع كود خـــطأ ..

طيب :
عملية جراحية سريعه على الكود

PHP كود :
Imports System.Data
Imports System
.Data.OleDb

Public Class Form1
    Dim myDA 
As OleDbDataAdapter
    Dim Ds 
As DataSet

    Private Sub Form1_Load
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        Dim con 
As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=db2.mdb")
 
       Dim Da As OleDbDataAdapter = New OleDbDataAdapter("SELECT * FROM table_user"con)



 
       Dim builder As OleDbCommandBuilder = New OleDbCommandBuilder(myDA)

 
       Ds = New DataSet()
 
       Ds.Clear()
 
       Da.Fill(Ds"MyTable")
 
       DataGridView1.ColumnCount 4
        For i 
As Integer 0 To Ds.Tables(0).Rows.Count 1
            DataGridView1
.Rows.Add(New String() {Ds.Tables(0).Rows(i).Item(0).ToString(), _
                                                 Ds
.Tables(0).Rows(i).Item(1).ToString(), _
                                                 Ds
.Tables(0).Rows(i).Item(2).ToString(), _
                                                 Ds
.Tables(0).Rows(i).Item(3).ToString()})
 
       Next
        Dim TotalCostPrice 
As Integer = (From rr As DataGridViewRow In DataGridView1.Rows _
                              Select CInt
(rr.Cells(3).Value)).Sum()


 
       DataGridView1.Rows.Add(New String() {"Total"""""TotalCostPrice})


 
       For Each r As DataGridViewRow In DataGridView1.Rows

            r
.HeaderCell.Value = (r.Index 1).ToString()
 
           If r.Cells(0).Value "Total" Then
                r
.DefaultCellStyle.ForeColor Color.White
                r
.DefaultCellStyle.BackColor Color.Black
            End 
If



 
       Next

    End Sub

    
' Save data from DataGridView into Database
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Validate()
        Me.myDA.Update(Ds.Tables("MyTable"))
        Me.Ds.AcceptChanges()
    End Sub

  

End Class 



RE: اضافة سجل في datagridview1 - البراء - 20-10-14

(20-10-14, 12:56 PM)Abu Ehab كتب : عمرها ما حصلت أنه :
أبوأيهاب يرفع كود خـــطأ ..

طيب :
عملية جراحية سريعه على الكود


PHP كود :
Imports System.Data
Imports System
.Data.OleDb

Public Class Form1
    Dim myDA 
As OleDbDataAdapter
    Dim Ds 
As DataSet

    Private Sub Form1_Load
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        Dim con 
As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=db2.mdb")
 
       Dim Da As OleDbDataAdapter = New OleDbDataAdapter("SELECT * FROM table_user"con)



 
       Dim builder As OleDbCommandBuilder = New OleDbCommandBuilder(myDA)

 
       Ds = New DataSet()
 
       Ds.Clear()
 
       Da.Fill(Ds"MyTable")
 
       DataGridView1.ColumnCount 4
        For i 
As Integer 0 To Ds.Tables(0).Rows.Count 1
            DataGridView1
.Rows.Add(New String() {Ds.Tables(0).Rows(i).Item(0).ToString(), _
                                                 Ds
.Tables(0).Rows(i).Item(1).ToString(), _
                                                 Ds
.Tables(0).Rows(i).Item(2).ToString(), _
                                                 Ds
.Tables(0).Rows(i).Item(3).ToString()})
 
       Next
        Dim TotalCostPrice 
As Integer = (From rr As DataGridViewRow In DataGridView1.Rows _
                              Select CInt
(rr.Cells(3).Value)).Sum()


 
       DataGridView1.Rows.Add(New String() {"Total"""""TotalCostPrice})


 
       For Each r As DataGridViewRow In DataGridView1.Rows

            r
.HeaderCell.Value = (r.Index 1).ToString()
 
           If r.Cells(0).Value "Total" Then
                r
.DefaultCellStyle.ForeColor Color.White
                r
.DefaultCellStyle.BackColor Color.Black
            End 
If



 
       Next

    End Sub

    
' Save data from DataGridView into Database
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Validate()
        Me.myDA.Update(Ds.Tables("MyTable"))
        Me.Ds.AcceptChanges()
    End Sub

  

End Class 

احنا بنعرف ابو ايهاب وقداته في البرمجة بس الكود الاول صحيح ويعمل المجموع من غير البيانات المعروضة تكون من قاعدة البيانات والكود الثاني العرض من قاعدة بيانات في dataset ومن ثم وضعهم في مصفوفة ومن ثم استخراج المجموع على كل حال تم حل المشكلة وبارك الله فيك


RE: اضافة سجل في datagridview1 - benomar - 21-10-14

اعرض نسخة من الحل للإستفادة العامة


RE: اضافة سجل في datagridview1 - البراء - 21-10-14

(21-10-14, 05:29 AM)benomar كتب : اعرض نسخة من الحل للإستفادة العامة

تفضل


RE: اضافة سجل في datagridview1 - benomar - 21-10-14

السلام عليكم
المشروع يحتاج إلى إضافة سطر - سجل جديد
ثم زر إعداد تقرير يعني تطوير المشروع .
لكي تعم الفائدة .


RE: اضافة سجل في datagridview1 - atefkhalf2004 - 22-10-14

السادة الافاضل جميعا

عمليه التعديل لا تعمل تظهر خطا
برجاء تعديل الكود لمن اشتغل عنده الكود
شكرا


RE: اضافة سجل في datagridview1 - atefkhalf2004 - 27-10-14

السادة الافاضل برجاء الرد


RE: اضافة سجل في datagridview1 - atefkhalf2004 - 28-11-14

اين الردود ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟