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


الملفات المرفقة
.rar   إضافة button للداتاجريد.rar (الحجم : 139.61 ك ب / التحميلات : 24)
الرد }}}
تم الشكر بواسطة:
#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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  اضافة لون للالوان في التاكست بكس أحمد فتح الرحمن 4 474 08-01-25, 04:05 PM
آخر رد: أحمد فتح الرحمن
  اضافة ايام للتاريخ العيدروس 2 380 07-01-25, 02:06 AM
آخر رد: العيدروس
  [سؤال] اضافة ملف Pdf الى الريسورس واستخراجه الى مسار معين .. ackore 6 614 15-11-24, 02:51 AM
آخر رد: justforit
  [VB.NET] اضافة ملاحظة صوتية abo ragab 2 466 15-10-24, 10:14 PM
آخر رد: abo ragab
  كيف يمكن اضافة عناصر للكومبوبوكس اثناء تشغيل البرنامج عن طريق المستخدم haithammoftah 3 2,168 30-09-24, 12:52 AM
آخر رد: asmarsou
  اضافة صورة مخزنة في قاعدة البيانات sql الى الكريستال ريبورت صالح عبدالله 3 475 24-09-24, 09:52 AM
آخر رد: صالح عبدالله
  اضافة اسطر فارعة في الداتا جريد فيو ismaeel 1 565 25-08-24, 02:43 AM
آخر رد: Taha Okla
  [سؤال] مشكلة في اضافة التاريخ محمد العامر 4 540 16-06-24, 04:12 PM
آخر رد: محمد العامر
  اضافة سطور للداتاجريد فيو أحمد فتح الرحمن 2 529 22-05-24, 10:14 PM
آخر رد: أحمد فتح الرحمن
  اريد اضافة حفظ PDF فى مسار على الهارد- مثال الاستاذ عبدالله الدوسري new_programer 1 523 28-04-24, 04:52 PM
آخر رد: new_programer

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


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