السلام عليكم ورحمة الله
شباب عندى مشكلة فى البرنامج . اريد عمل شاشة ادخال فى شكل جدول به 6 اعمدة وعدد الصفوف متغير . لا ادرى الاداة المناسبة لعمل ذلك ارجو مساعدتكم وشكرا
اخي الكريم
DataGridView شكلها كما تريد لادخال البيانات
السلام عليكم ورحمة الله وبركاته
يمكنك كما قال الأخ aftfm استخدم أداة الـ DatagridView وإليك الطريقة :
كود :
Imports System.Data.OleDb
Public Class Form1
Dim CMD As OleDbCommand
Dim DAPT As OleDbDataAdapter
Dim CB As OleDbCommandBuilder
Dim BS As BindingSource
Dim DSet As DataSet
Dim Con As New OleDbConnection("ضع هنا جملة الإتصال بقاعدة البيانات")
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
' لتفعيل اختيار كل الصف عند الضغط علي أي خلية في الأداة
Me.DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
'**********************************************************
CMD = New OleDbCommand("Select * from tbl", Con)
DAPT = New OleDbDataAdapter(CMD)
CB = New OleDbCommandBuilder(DAPT)
DSet = New DataSet
DSet.Clear()
' لا تحتاج إلي فتح الاتصال بقاعدة البيانات عند استخدام هذه الطريقة
DAPT.Fill(DSet, "tbl")
BS = New BindingSource(DSet, "tbl")
Me.DataGridView1.DataSource = BS
' يمكنك إعادة تسمية أعمدة الأداة
Me.DataGridView1.Columns(0).HeaderText = "رقم"
Me.DataGridView1.Columns(1).HeaderText = "الاسم"
Me.DataGridView1.Columns(2).HeaderText = "التلفون"
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Data")
End Try
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' لحفظ الإضافة أو التعديل أو الحذف
BS.EndEdit()
DAPT.Update(DSet, "tbl")
End Sub
End Class
* لحذف سجل من الأداة فقط حدد علي الصف المراد حذف واضغط علي مفتاح
Delete من لوحة المفاتيح ليتم حذف السجل ثم اضغط علي زر
حفظ لحفظ التعديلات .
* ويمكن أيضاً عمل زر للتراجع عن التعديلات من (إضافة ، حذف ، تعديل) ولكن لن يعمل التراجع إذا قمت بالفعل بضغط زر
الحفظ مسبقاً وذلك كالتالي :
كود :
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
BS.CancelEdit()
DSet.RejectChanges()
End Sub
****
***
**
*
شكرا اخي الكريم aftfm
kslawy كتب :السلام عليكم ورحمة الله وبركاته
يمكنك كما قال الأخ aftfm استخدم أداة الـ DatagridView وإليك الطريقة :
كود :
Imports System.Data.OleDb
Public Class Form1
Dim CMD As OleDbCommand
Dim DAPT As OleDbDataAdapter
Dim CB As OleDbCommandBuilder
Dim BS As BindingSource
Dim DSet As DataSet
Dim Con As New OleDbConnection("ضع هنا جملة الإتصال بقاعدة البيانات")
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
' لتفعيل اختيار كل الصف عند الضغط علي أي خلية في الأداة
Me.DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
'**********************************************************
CMD = New OleDbCommand("Select * from tbl", Con)
DAPT = New OleDbDataAdapter(CMD)
CB = New OleDbCommandBuilder(DAPT)
DSet = New DataSet
DSet.Clear()
' لا تحتاج إلي فتح الاتصال بقاعدة البيانات عند استخدام هذه الطريقة
DAPT.Fill(DSet, "tbl")
BS = New BindingSource(DSet, "tbl")
Me.DataGridView1.DataSource = BS
' يمكنك إعادة تسمية أعمدة الأداة
Me.DataGridView1.Columns(0).HeaderText = "رقم"
Me.DataGridView1.Columns(1).HeaderText = "الاسم"
Me.DataGridView1.Columns(2).HeaderText = "التلفون"
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Data")
End Try
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' لحفظ الإضافة أو التعديل أو الحذف
BS.EndEdit()
DAPT.Update(DSet, "tbl")
End Sub
End Class
* لحذف سجل من الأداة فقط حدد علي الصف المراد حذف واضغط علي مفتاح Delete من لوحة المفاتيح ليتم حذف السجل ثم اضغط علي زر حفظ لحفظ التعديلات .
* ويمكن أيضاً عمل زر للتراجع عن التعديلات من (إضافة ، حذف ، تعديل) ولكن لن يعمل التراجع إذا قمت بالفعل بضغط زر الحفظ مسبقاً وذلك كالتالي :
كود :
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
BS.CancelEdit()
DSet.RejectChanges()
End Sub
****
***
**
*
شكرا جزيلا اخي kslawy . الكود الذى ارفقته لقاعدة بيانات Access وقاعدة بياناتى SQL Server 2008
ما في مشكلة أخي عدل الأكواد يعني [SIZE=4]OleDbDataAdapter [/SIZE] حولها إلي SQLDataAdapter
[SIZE=5]وهكذا مع بقية الأكواد[/SIZE]
kslawy كتب :
ما في مشكلة أخي عدل الأكواد يعني [SIZE=4]OleDbDataAdapter [/SIZE] حولها إلي SQLDataAdapter
[SIZE=5]وهكذا مع بقية الأكواد[/SIZE]
شكرا جزيلا اخي الكريم سوف اجرب تعديل الكود لكن عندى مشكلة عند اضافة data source لاستخدامها فى الـData Grid تظهر الرسالة
[ATTACH=CONFIG]1105[/ATTACH]
علما اننى استخدم sql server 2008 و visual studio 2005
ارجو المساعدة وشكرا
إجابة أكثر من رائعة.. الله يرحم والديكم.