تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
اضافة زر امر للداتاجريد
#1
السلام عليكم.اخواني الهي يكرمكم ان شاء الله.كيف يمكن ان اضيف عمود للداتاجريد ( العمود 3 الاخير ) من نوع button .بارك الله فيكم


الملفات المرفقة
.rar   إضافة button للداتاجريد.rar (الحجم : 139.61 ك ب / التحميلات : 12)
الرد
تم الشكر بواسطة:
#2
جرب هذا


يمكنك إضافة الأعمدة في التصميم بدلا من الكود

أو
كود :
Imports System.Data.OleDb
Public Class Form1

   Dim ConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\DB.mdb; "

   Dim Conn As New OleDbConnection(ConStr)
   Dim InfoCommand As OleDbCommand
   Dim InfoAdapter As OleDbDataAdapter
   Dim InfoTable As DataTable
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       If Conn.State = ConnectionState.Closed Then
           Conn.Open()
       End If

       InfoCommand = New OleDbCommand("SELECT * FROM Materials ORDER BY Materials_Id", Conn)
       InfoAdapter = New OleDbDataAdapter()
       InfoAdapter.SelectCommand = InfoCommand
       InfoTable = New DataTable()
       InfoAdapter.Fill(InfoTable)
       DataGridView1.DataSource = InfoTable
       DataGridView1.Columns(0).HeaderText = "التّرقيم"
       DataGridView1.Columns(1).HeaderText = "السلعة"
       DataGridView1.Columns(2).HeaderText = "الكمية"

       Dim btn As New DataGridViewButtonColumn
       btn.HeaderText = "العمود"
       btn.DefaultCellStyle.NullValue = "Button"
       btn.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
       DataGridView1.Columns.Add(btn)

   End Sub

   Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
       If TypeOf sender.Columns(e.ColumnIndex) Is DataGridViewButtonColumn Then
           MsgBox("RowIndex: " & e.RowIndex)
       End If
   End Sub

End Class
الرد
تم الشكر بواسطة: محمد خيري , محمد خيري
#3
يسلمو اخي rnmr و الله هذا ما ريده بالضبط كثر الف خيرك.فقط لي طلب اخير بعد اذنك كيف لما اضغط على زر الامر على الصف الذي واقف عليه تخبرني رسالة اذا كنت اريد نقل السجل الى الجدول الاخر ( matrials_djerd ) اذا نعم يتم حذف السجل من جدول materials و ينتقل الى جدول matrials_djerd ربنا يبارك فيك اخي
الرد
تم الشكر بواسطة: rnmr , rnmr
#4
جرب هذا

كود :
Imports System.Data.OleDb
Public Class Form1

   Dim ConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\DB.mdb; "

   Dim Conn As New OleDbConnection(ConStr)
   Dim InfoAdapter As New OleDbDataAdapter("SELECT * FROM Materials ORDER BY Materials_Id", Conn)
   Dim InfoTable As New DataTable

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

       InfoTable.Clear()
       InfoAdapter.Fill(InfoTable)
       DataGridView1.DataSource = InfoTable

       DataGridView1.Columns(0).HeaderText = "التّرقيم"
       DataGridView1.Columns(1).HeaderText = "السلعة"
       DataGridView1.Columns(2).HeaderText = "الكمية"

       Dim btn As New DataGridViewButtonColumn
       btn.HeaderText = "نقل للجدول الاخر"
       btn.DefaultCellStyle.NullValue = "نقل"
       btn.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
       DataGridView1.Columns.Add(btn)
   End Sub

   Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
       If TypeOf sender.Columns(e.ColumnIndex) Is DataGridViewButtonColumn Then
           If MsgBox("هل تريد نقل السجل إالى الجدول الاخر", MsgBoxStyle.YesNo) <> MsgBoxResult.Yes Then Return
           Try

               If Conn.State <> ConnectionState.Open Then Conn.Open()

               Dim row As DataGridViewRow = DataGridView1.CurrentRow
               Dim trans As OleDbTransaction = Conn.BeginTransaction
               Dim cmd As New OleDbCommand
               cmd.Connection = Conn
               cmd.Transaction = trans

               cmd.CommandText = "INSERT INTO [Materials_Djerd] ([Djerd_Id], [Djerd_Name], [Djerd_Quantity]) VALUES(?,?,?)"
               cmd.Parameters.Clear()
               cmd.Parameters.AddWithValue("@Id", row.Cells(0).Value)
               cmd.Parameters.AddWithValue("@Name", row.Cells(1).Value)
               cmd.Parameters.AddWithValue("@Quantity", row.Cells(2).Value)
               If cmd.ExecuteNonQuery > 0 Then ' إذا نجحت الإضافة في الجدول الثاني

                   cmd.CommandText = "DELETE FROM [Materials] WHERE [Materials_Id]=?"
                   cmd.Parameters.Clear()
                   cmd.Parameters.AddWithValue("@Id", row.Cells(0).Value)

                   If cmd.ExecuteNonQuery() > 0 Then ' إذا نجح الحذف من الجدول الأول

                       trans.Commit() ' اتمام العمليتين معا النقل والحذف

                       ' إعادة تعبئة الداتاجريدفيو
                       InfoTable.Clear()
                       InfoAdapter.Fill(InfoTable)

                       MsgBox("تم النقل")

                   Else
                       trans.Rollback() ' التراجع عن العمليتين معا
                   End If

               End If

           Catch ex As Exception
               MsgBox(ex.Message)
           Finally
               Conn.Close()
           End Try
       End If
   End Sub

End Class
الرد
تم الشكر بواسطة: محمد خيري , ابراهيم ايبو
#5
الله يبارك فيك و يمتعك بالصحة و الهناء اخي rnmr .كلو مضبوط منيش عارف كيف اشكرك.بقيت لي امسة بسيطة و ان شاء الله اغلق الموضوع .كيف يمكن استبدل هذا الرسالة

كود :
If MsgBox("هل تريد نقل السجل إالى الجدول الاخر", MsgBoxStyle.YesNo) <> MsgBoxResult.Yes Then Return
بحيث اذكر اسم السلعة داخل الرسالة هكذا مثلا لم اعرف كيف ابدل كلمة txtname بسطر الداتاجريد

كود :
           If MsgBox("  هل أنت متأكّد من أنك تريد حذف هذه السلعة و نقلها لجدول الجرد : " & TxtName.Text & " ? ", MsgBoxStyle.YesNo + MsgBoxStyle.Critical, "تنبيه") = MsgBoxResult.No Then
الرد
تم الشكر بواسطة: rnmr , rnmr
#6
جرب هذا

كود :
Imports System.Data.OleDb

Public Class Form1

   Dim ConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\DB.mdb; "

   Dim Conn As New OleDbConnection(ConStr)
   Dim InfoAdapter As New OleDbDataAdapter("SELECT * FROM Materials ORDER BY Materials_Id", Conn)
   Dim InfoTable As New DataTable

   Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
       Me.DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
       Me.DataGridView1.AllowUserToDeleteRows = False
       Me.DataGridView1.AllowUserToAddRows = False
       Me.DataGridView1.ReadOnly = True

       InfoTable.Clear()
       InfoAdapter.Fill(InfoTable)
       DataGridView1.DataSource = InfoTable
       DataGridView1.ClearSelection()

       DataGridView1.Columns(0).HeaderText = "التّرقيم"
       DataGridView1.Columns(1).HeaderText = "السلعة"
       DataGridView1.Columns(2).HeaderText = "الكمية"

       Dim btn As New DataGridViewButtonColumn
       btn.HeaderText = "نقل للجدول الاخر"
       btn.DefaultCellStyle.NullValue = "نقل"
       btn.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
       DataGridView1.Columns.Add(btn)
   End Sub

   Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
       If TypeOf sender.Columns(e.ColumnIndex) Is DataGridViewButtonColumn Then

           ' قراءة السطر الحالي في الداتاجريدفيو
           Dim row As DataGridViewRow = sender.CurrentRow

           ' إعدادات رسالة التأكيد
           Dim msgstyle As MsgBoxStyle = &H180000 + MsgBoxStyle.YesNo + MsgBoxStyle.DefaultButton2 + MsgBoxStyle.Exclamation
           Dim msgtext As String = _
               "هل أنت متأكّد من أنك تريد حذف هذه السلعة ونقلها لجدول الجرد: ?" & vbNewLine & _
               "رقم: " & row.Cells(0).Value & ": " & row.Cells(1).Value & " (كمية: " & row.Cells(2).Value & ")"
           ' عندما لا يكون الجواب ب(نعم) فقم بالتراجع
           If MsgBox(msgtext, msgstyle, "تنبيه") <> MsgBoxResult.Yes Then Return

           Try
               If Conn.State <> ConnectionState.Open Then Conn.Open()

               Dim trans As OleDbTransaction = Conn.BeginTransaction
               Dim cmd As New OleDbCommand
               cmd.Connection = Conn
               cmd.Transaction = trans

               cmd.CommandText = "INSERT INTO [Materials_Djerd] ([Djerd_Id], [Djerd_Name], [Djerd_Quantity]) VALUES(?,?,?)"
               cmd.Parameters.Clear()
               cmd.Parameters.AddWithValue("@Id", row.Cells(0).Value)
               cmd.Parameters.AddWithValue("@Name", row.Cells(1).Value)
               cmd.Parameters.AddWithValue("@Quantity", row.Cells(2).Value)
               If cmd.ExecuteNonQuery > 0 Then ' إذا نجحت الإضافة في الجدول الثاني

                   cmd.CommandText = "DELETE FROM [Materials] WHERE [Materials_Id]=?"
                   cmd.Parameters.Clear()
                   cmd.Parameters.AddWithValue("@Id", row.Cells(0).Value)

                   If cmd.ExecuteNonQuery() > 0 Then ' إذا نجح الحذف من الجدول الأول

                       trans.Commit() ' اتمام العمليتين معا النقل والحذف

                       ' إعادة تعبئة الداتاجريدفيو
                       InfoTable.Clear()
                       InfoAdapter.Fill(InfoTable)
                       sender.ClearSelection()

                       MsgBox("تم النقل")

                   Else
                       trans.Rollback() ' التراجع عن العمليتين معا
                   End If

               End If

           Catch ex As Exception
               MsgBox(ex.Message)
           Finally
               Conn.Close()
           End Try
       End If
   End Sub

End Class

أو حسب طلبك

كود :
If MsgBox("  هل أنت متأكّد من أنك تريد حذف هذه السلعة و نقلها لجدول الجرد : " & Me.DataGridView1.CurrentRow.Cells(1).Value & " ? ", MsgBoxStyle.YesNo + MsgBoxStyle.Critical, "تنبيه") = MsgBoxResult.No Then
الرد
#7
بجد كثر الف خيرك اخ rnmr كلو مضبوط بارك الله فيك و جزاك كل الخير
الرد
تم الشكر بواسطة: rnmr , rnmr


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مساعدة في اضافة زر داخل خلية في الداتا جريد فيو MustafaShaker 3 124 15-01-21, 04:26 PM
آخر رد: moosa_alabri
  كيفية اضافة مشغل mpv بداخل الفورم ميدو الفنان 37 2,142 11-01-21, 06:11 AM
آخر رد: nazar70
  [سؤال] اضافة كومبوبكس داخل داتاقريد فيو معبئ من قاعدة البيانات KIKO1992 2 268 02-12-20, 11:50 AM
آخر رد: KIKO1992
  طريقة اضافة ازرار للداتا قريد فيو المتألق9 1 228 28-11-20, 09:36 PM
آخر رد: mir2
  [VB.NET] اضافة ازرار حسب عدد متغير في قاعدة البيانات Ad Heart 5 904 16-11-20, 12:10 AM
آخر رد: sherf
  [VB.NET] مساعدة في اضافة drm ل browser trakktour 0 144 08-11-20, 12:48 AM
آخر رد: trakktour
  [VB.NET] كيفية اضافة drm لمتصفح geckofx لسبسيب 2 284 27-10-20, 02:51 PM
آخر رد: لسبسيب
  اضافة button في مكان محدد علي قورم atefkhalf2004 9 743 05-10-20, 10:08 AM
آخر رد: atefkhalf2004
  [VB.NET] اضافة اللغة واستردادها من ملف بصيغة ini ميدو الفنان 11 1,405 25-09-20, 04:08 PM
آخر رد: عمور2016
  اضافة ملف pdf الى قاعدة بيانات sql server 2012 moh developer 5 377 25-09-20, 03:01 PM
آخر رد: moh developer

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


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