تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] كود اضافة وحفظ وتعديل والحذف فى DATAGRIDVIEW
#1
السلام عليكم من فضلكم انا مبتدى فى VB.NET وكنت عاوز كود الاضافة والتعديل والحفظ والحذف من textbox الى datagridview
- ستدعاء بيانات صنف بمجرد كتابة الباركود
الرد
تم الشكر بواسطة:
#2
السلام عليكم

السؤال غير واضح؟

أرنا محاولاتك وسنقوم بالمساعدة ان شاءالله فالمنتدى ليس لحل الواجبات بل المساعدة في الحل

تحياتي
الرد
تم الشكر بواسطة: a7med saba
#3
اخى الكريم انا مبتدى فى الفاجوال بيسيك 2008 وعملت مشروع بس اثناء الحفظ يقوم بالحفظ من textbox الى datagrid view ولا يظهر فى ال datagrid view الا بعد اغلاق البرنامج وفتحة من جديد


Imports System.Data
Imports System.Data.OleDb

Public Class Form1
Dim constr As String = "provider=microsoft.jet.oledb.4.0;data source=" & Application.StartupPath & "\db7.mdb"
Dim sql As String = "select*from tb"
Dim con As New OleDbConnection(constr)
Dim ds As DataSet

Sub view()
Dim sql As String = "select*from tb"
If con.State Then con.Close()
con.Open()
Dim dr As New OleDbDataAdapter(sql, con)
Dim dt As New DataTable
dr.Fill(dt)
Me.DataGridView1.DataSource = dt
con.Close()
DataGridView1.Columns(0).HeaderText = "الاسم"
DataGridView1.Columns(1).HeaderText = "الباركود"
DataGridView1.Columns(2).HeaderText = "اسم المورد"
DataGridView1.Columns(3).HeaderText = "سعر التكلفة"
DataGridView1.Columns(4).HeaderText = "سعر البيع"
DataGridView1.Columns(5).HeaderText = "الكمية"
DataGridView1.Columns(0).Width = 200
DataGridView1.Columns(1).Width = 110
DataGridView1.Columns(2).Width = 110
DataGridView1.Columns(3).Width = 80
DataGridView1.Columns(4).Width = 80
DataGridView1.Columns(5).Width = 80




End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.view()

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
Me.Button1.Enabled = False

End Sub

Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
TextBox1.Text = DataGridView1.CurrentRow.Cells(0).Value.ToString()
TextBox2.Text = DataGridView1.CurrentRow.Cells(1).Value.ToString()
TextBox3.Text = DataGridView1.CurrentRow.Cells(2).Value.ToString()
TextBox1.Text = DataGridView1.CurrentRow.Cells(3).Value.ToString()
TextBox2.Text = DataGridView1.CurrentRow.Cells(4).Value.ToString()
TextBox3.Text = DataGridView1.CurrentRow.Cells(5).Value.ToString()
End Sub

Private Sub GroupBox1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GroupBox1.Enter

End Sub

Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click


End Sub

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

End Sub

Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click

End Sub

Private Sub TextBox5_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox5.TextChanged

End Sub

Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)

Me.Label7.Text = Now.Date + Now.TimeOfDay

End Sub

Private Sub Label7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label7.Click

End Sub

Private Sub Label8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Try
Dim sav As New OleDb.OleDbCommand
Dim con As New OleDbConnection(constr)
sav.Connection = con
sav.CommandType = CommandType.Text
sav.CommandText = "delete from tb(name,cod,spl,cost,price,quant)" & _
"values('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "')"
con.Open()
sav.ExecuteNonQuery()
MessageBox.Show(" تمت اضافة البيانات بنجاح ")
con.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
Exit Sub
End Try
End Sub

Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click

End Sub

Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged

End Sub

Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged

End Sub

Private Sub Label4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label4.Click

End Sub

Private Sub Label5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label5.Click

End Sub

Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox4.TextChanged

End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim i As Integer
For i = 0 To DataGridView1.Rows.Count - 2

Next
Try
Dim sav As New OleDb.OleDbCommand
Dim con As New OleDbConnection(constr)
sav.Connection = con
sav.CommandType = CommandType.Text
sav.CommandText = "insert into tb(name,cod,spl,cost,price,quant)" & _
"values('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "')"
con.Open()
sav.ExecuteNonQuery()
MessageBox.Show(" تمت اضافة البيانات بنجاح ")
Dim dr As New OleDbDataAdapter
Dim dt As New DataTable
dr.Update(dt)
con.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
Exit Sub




End Try
End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Me.Close()

End Sub

Private Sub Timer1_Tick_1(ByVal sender As System.Object, ByVal e As System.EventArgs)
Label7.Text = Now.Date + Now.TimeOfDay

End Sub
End Class
الرد
تم الشكر بواسطة:
#4
ليش تستخدم عرض في اداة الشبيكة ومربعات النص؟
الا تكفي شبيكة البيانات بعرض البيانات؟
شوف المثال هنا
الرد
تم الشكر بواسطة:
#5
الرابط يوصلنا الي موفع الحليج دون تنزيل ملفات
الرد
تم الشكر بواسطة: tarek
#6
المثال من جديد


كود :
Imports System.Data.OleDb

Public Class Form1
    Dim str As String = "provider=microsoft.ace.oledb.12.0;data source=|datadirectory|\db.accdb"
    Dim con As New OleDbConnection(str)
    Dim ds As New DataSet
    Dim da As New OleDbDataAdapter("select tn from tb", con)
    Dim cm As New OleDbCommandBuilder(da)

    Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
        da.Update(ds, "tb")
    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        gd()
    End Sub
    Sub gd()
        ds.Clear()
        DataGridView1.DataSource = Nothing

        da.Fill(ds, "tb")
        DataGridView1.DataSource = ds
        DataGridView1.DataMember = "tb"
        DataGridView1.Columns(0).HeaderText = "الاسم"
        DataGridView1.Columns(0).Width = DataGridView1.Width - 10


    End Sub
End Class
الرد
تم الشكر بواسطة:
#7
اخونا الفاضل شكرا على اهتمامك بس الرابط مش شغال
الرد
تم الشكر بواسطة:
#8
بلى شغال
تاكد
الرد
تم الشكر بواسطة:
#9
اخواني اتصلت بقاعدة البينات وعندي غريد فيو
واريد اعدل على البينات من تكس بوكس الى الداتا غريد فيو
ويتحدث في قاعدة البينات اكسس 
Imports System.Data.OleDb
Public Class Form2
    Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source = C:\Users\hp\Desktop\mmmm.accdb")
    Dim da As New OleDbDataAdapter()
    Dim dt As New DataTable

    Sub Loed_data()

        dt.Clear()
        da = New OleDbDataAdapter("select * from mm1", con)
        da.Fill(dt)
    End Sub


    Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Loed_data()
        Mm2DataGridView.DataSource = dt

    End Sub
    Sub save()

        Dim save As New OleDbCommandBuilder(da)
        save.QuotePrefix = "["
        save.QuoteSuffix = "]"
        da.Update(dt)
        dt.AcceptChanges()
    End Sub


    Private Sub Mm2DataGridView_SelectionChanged(sender As System.Object, e As System.EventArgs) Handles Mm2DataGridView.SelectionChanged

        Dim pas As String = BindingContext(dt).Position

        TextBox1.Text = dt.Rows(pas).Item(1)
        TextBox2.Text = dt.Rows(pas).Item(2)
        TextBox3.Text = dt.Rows(pas).Item(3)
        TextBox4.Text = dt.Rows(pas).Item(4)
        TextBox5.Text = dt.Rows(pas).Item(5)
        TextBox6.Text = dt.Rows(pas).Item(6)
        DateTimePicker1.Value = dt.Rows(pas).Item(7)
        DateTimePicker2.Value = dt.Rows(pas).Item(7)
        TextBox9.Text = dt.Rows(pas).Item(9)


    End Sub

    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click

        dt.Rows.Add()
        Dim pas As String = BindingContext(dt).Position

        dt.Rows(pas).Item(1) = TextBox1.Text
        dt.Rows(pas).Item(2) = TextBox2.Text
        dt.Rows(pas).Item(3) = TextBox3.Text
        dt.Rows(pas).Item(4) = TextBox4.Text
        dt.Rows(pas).Item(5) = TextBox5.Text
        dt.Rows(pas).Item(6) = TextBox6.Text
        dt.Rows(pas).Item(7) = DateTimePicker1.Value.ToShortDateString
        dt.Rows(pas).Item(8) = DateTimePicker2.Value.ToShortDateString
        dt.Rows(pas).Item(9) = TextBox9.Text
        Loed_data()

    End Sub
هذا كود التعديل لو تكرمتم معرفة الخطا قين حتى ما يعدل
الرد
تم الشكر بواسطة:
#10
اول شيء انت تقوم بجلب الاتصال لقاعدة البيانات للداتا فريد حلو
وعند حدث النقر على الداتا قريد يتم نقل بيانات الرو  selected cellcurrent الى مربعات التكست بوكس و تعدل تعديلاتك على المربعات النصية وبوتن حفظ التعديل الجديد المتواجد في مربعات النصوص ومن ثم تحديث بيانات الداتا قريد مرة أخرى.. من خلال استعلام جديد كالبداية.. شرحت لك نصية  لان الطلب غير واضح .. راجع خطوات الحل المطروحة بالرد وقم بتكرار المحاولة.
واعتقد ان الخطاء حسب ما شاهدته من الكود تحديد نوع البيانات لكل مربع نص حسب نوع بيانات الرو المتواجد في الداتا بيس

راجع هذا الرابط http://vb4arb.com/vb/showthread.php?tid=6968
الرد
تم الشكر بواسطة: ابراهيم ايبو , رضوان الجماعي


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  عدد السجلات ورقم السجل الحالى فى ال datagridview اسلام الكبابى 2 514 10-09-21, 07:36 PM
آخر رد: dalas
  [سؤال] مشكلة اضافة التاريخ مع قاعدة بيانات alims 6 1,436 25-01-21, 02:45 AM
آخر رد: alims
  اضافة ارقام تسلسلية فيsql Hassan.syria 1 981 21-11-19, 09:07 PM
آخر رد: Hassan.syria
  منع التكرار في اضافة بيانات لقاعدة بيانات أكسس vb.net ahmedshafea 3 9,116 01-07-19, 12:28 PM
آخر رد: essamprog
  (سؤال؟)كود اضافة التاريخ في قاعدة البيانات اسمهان 1 1,509 20-02-19, 11:08 AM
آخر رد: alfaiz678
  كود sql اضافة او تغير كلمة المرور لقاعدة البيانات اللورد محمود 1 1,344 28-01-19, 06:56 PM
آخر رد: عبد العزيز البسكري
  سؤال بخصوص تحديث بيانات DataGridView abdullhadi999 0 1,461 05-01-19, 12:28 AM
آخر رد: abdullhadi999
  سؤال بخصوص تحديث بيانات DataGridView abdullhadi999 0 1,130 05-01-19, 12:27 AM
آخر رد: abdullhadi999
  هل يمكن نقل بيانات DataGridView إلى Dataset . عبد الله 7 4,169 03-09-18, 11:23 PM
آخر رد: انيس القبائلي
  [سؤال] تصفية Filter تاريخين في datagridview عبد الله 3 1,665 03-09-18, 10:27 PM
آخر رد: elgokr

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم