منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : اريد شاشة الادخال على شكل جدول
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله
شباب عندى مشكلة فى البرنامج . اريد عمل شاشة ادخال فى شكل جدول به 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
ارجو المساعدة وشكرا
إجابة أكثر من رائعة.. الله يرحم والديكم.