الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تعبئة ال datagridview

بدأه بـــــــــــــــدر في 13 نوفمبر 2012 · 10 رد · 1,824 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

الله يعطيكم العافيه كيف أقدر أعبئ ال datagridview من قاعدة البيانات

هذا الكود

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        db_adpt = New SqlDataAdapter("select * from names", dbcon)
        db_adpt.Fill(dst_links, "names")
        If dst_links.Tables(0).Rows.Count Then
            TextBox4.Text = dst_links.Tables(0).Rows(0).Item(0)
            TextBox1.Text = dst_links.Tables(0).Rows(0).Item(1)
            TextBox2.Text = dst_links.Tables(0).Rows(0).Item(2)
            TextBox3.Text = dst_links.Tables(0).Rows(0).Item(3)
        End If
        TextBox1.Enabled = False
        TextBox2.Enabled = False
        TextBox3.Enabled = False
        TextBox4.Enabled = False



        'DGview.DataSource = dst_links
        'DGview.DataMember = "names"

        ' DGview.DataSource = dst_links.Tables("names")


        dst_links.Clear()


    End Sub

جربت هذي الطرق ومانجحت

        'DGview.DataSource = dst_links
        'DGview.DataMember = "names"

        ' DGview.DataSource = dst_links.Tables("names")

ياليت أحد يجاوبني ع السؤال وإذا فيه موضوع متكامل عن ال datagridview زودوني فيه

كل الشكر

تم تعديل هذه المشاركة بواسطة بـــــــــــــــدر في 13 نوفمبر 2012 في 15:09

#2
Imports System.Data.SqlClient
Imports System.Data

Public Class Form1
    Dim sqlcon As New SqlConnection
    Dim da As New SqlDataAdapter("Select * from items", sqlcon)
    Dim ds As New DataSet("items")

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        sqlcon.ConnectionString = ("Server=.\MSSQLSERVEREXPRESS;Database=MyDB;Trusted_connection=yes;")
da.Fill(ds, "items")
        DataGridView1.DataSource = ds.Tables("items")    
End Sub

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 13 نوفمبر 2012 في 22:54

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#3
محمد فؤاد تركي كتب:

Imports System.Data.SqlClient
Imports System.Data

Public Class Form1
    Dim sqlcon As New SqlConnection
    Dim da As New SqlDataAdapter("Select * from items", sqlcon)
    Dim ds As New DataSet("items")

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        sqlcon.ConnectionString = ("Server=.\MSSQLSERVEREXPRESS;Database=MyDB;Trusted_connection=yes;")
da.Fill(ds, "items")
        DataGridView1.DataSource = ds.Tables("items")    
End Sub

هلا أستاذ محمد

الله يعطيك العافيه على ردك

الكود الذي وضعته جربته ولما انفذ البرنامج يشتغل البرنامج بس مايظهر شي بال datagridview فارغه

#4

الكود سليم 100% أرجو المراجعة مرة أخري

Imports System.Data.SqlClient
Imports System.Data
Public Class Form1
    Dim sqlcon As New SqlConnection
    Dim da As New SqlDataAdapter("Select * from items", sqlcon)
    Dim ds As New DataSet("items")
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        sqlcon.ConnectionString = ("Server=.\ITPROF;Database=whsystems;Trusted_connection=yes;")
        da.Fill(ds, "items")
        DataGridView1.DataSource = ds.Tables("items")
    End Sub
End Class

post-46243-059371500 1352877565_thumb.jp

المرفقات
1.jpg
1

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#5
محمد فؤاد تركي كتب:

الكود سليم 100% أرجو المراجعة مرة أخري

Imports System.Data.SqlClient
Imports System.Data
Public Class Form1
    Dim sqlcon As New SqlConnection
    Dim da As New SqlDataAdapter("Select * from items", sqlcon)
    Dim ds As New DataSet("items")
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        sqlcon.ConnectionString = ("Server=.\ITPROF;Database=whsystems;Trusted_connection=yes;")
        da.Fill(ds, "items")
        DataGridView1.DataSource = ds.Tables("items")
    End Sub
End Class

post-46243-059371500 1352877565_thumb.jp

هلا أستاذ محمد

الله يعطيك العافيه صدقت اشتغل معي الكود بس بكلف عليك عندي أسأله

الأول انا وضعت الداتا ست والادابتر بالمديول هل لهذا السبب ماشتغل معي الكود اللي سويته أنا

السؤال الثاني / كيف أقدر أغير اسم الهيدر ؟

الثالث / كيف تكون ال datagridview من اليمين لليسار يعني يكون ال ID من الجهه اليمنى

وكل الشكر لك أستاذ محمد

تم تعديل هذه المشاركة بواسطة بـــــــــــــــدر في 14 نوفمبر 2012 في 11:22

#6

لتغيير اتجاه DataGridView1 من اليسار الي اليمين قم بتغيير الخاصية التالية الي Yes من خصائص الاداة RightToLeft

كما يمكنك عمل ذلك بالكود كما يلي

DataGridView1.RightToLeft = Windows.Forms.RightToLeft.Yes

لتغيير مسمي الهيدر الثالث يكون ذلك من خلال الكود التالي

DataGridView1.Columns(2).HeaderText = "الاسم"

حيث أن الرقم 2 يشير الي رقم العمود مع العلم ان ترقيم الاعمدة والاسطر يبدأ من الرقم 0 و كلمة الاسم هو اسم الهيدر الجديد

بالتوفيق

2

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#7
محمد فؤاد تركي كتب:

لتغيير اتجاه DataGridView1 من اليسار الي اليمين قم بتغيير الخاصية التالية الي Yes من خصائص الاداة RightToLeft

كما يمكنك عمل ذلك بالكود كما يلي

DataGridView1.RightToLeft = Windows.Forms.RightToLeft.Yes

لتغيير مسمي الهيدر الثالث يكون ذلك من خلال الكود التالي

DataGridView1.Columns(2).HeaderText = "الاسم"

حيث أن الرقم 2 يشير الي رقم العمود مع العلم ان ترقيم الاعمدة والاسطر يبدأ من الرقم 0 و كلمة الاسم هو اسم الهيدر الجديد

بالتوفيق

أهلين أستاذ محمد

اتجاه ال gridview سويته من الخصائص وضبط

لكن كود الهيدر اكتبه في ال load وإلا في مكان آخر

كتبته في ال load أظهر لي هذا الخطأ كما في الصورة

858167826.jpg

تم تعديل هذه المشاركة بواسطة بـــــــــــــــدر في 15 نوفمبر 2012 في 11:33

#8
بـــــــــــــــدر كتب:

أهلين أستاذ محمد

اتجاه ال gridview سويته من الخصائص وضبط

لكن كود الهيدر اكتبه في ال load وإلا في مكان آخر

كتبته في ال load أظهر لي هذا الخطأ كما في الصورة

858167826.jpg

الحمدلله انحلت المشكله وضعت الكود اللي عطيتني استاذ محمد اسفل هذا الكود

 DGview.DataSource = dst_names.Tables("names")
        DGview.Columns(0).HeaderText = "الرقم"

الله يعطيك العافية استاذ محمد مشكوووور

#9

السلام عليكم ورحمة الله وبركاته

 

الأستاذ محمد كفى ووفى بارك الله فيه.

 

وهذه طريقتي في تعبئة الـDataGridView:

 

في البداية أستدعي نطاق الأسماء

 

 

Imports System.Data.OleDb

ثم أعرف متغير الاتصال:

 

 

Dim Con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Environment.CurrentDirectory() & "\employment.mdb")

 

 

ثم في حدث التحميل للـForm أكتب:

 

    Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        With dgv
            .DataSource = Nothing
            .Rows.Clear()
            .ColumnCount = 9
            .Columns(0).HeaderText = "م"
            .Columns(0).Width = 30
            .Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

            .Columns(1).HeaderText = "رقم التوظيف"
            .Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
            .Columns(1).Width = 95
            .Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

            .Columns(2).HeaderText = "اسم الموظف"
            .Columns(2).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
            .Columns(2).Width = 200

            .Columns(3).HeaderText = "الجنسية"
            .Columns(3).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
            .Columns(3).Width = 75
            .Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

            .Columns(4).HeaderText = "موقع العمل"
            .Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
            .Columns(4).Width = 120

            .Columns(5).HeaderText = "الوظيفة"
            .Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
            .Columns(5).Width = 120


            .Columns(6).HeaderText = "تاريخ التوظيف"
            .Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
            .Columns(6).Width = 100
            .Columns(6).DefaultCellStyle.Format = "d"
            .Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

            .Columns(7).HeaderText = "مرتب أساسي"
            .Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
            .Columns(7).Width = 85
            .Columns(7).DefaultCellStyle.Format = "N3"
            .Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

            .Columns(8).HeaderText = "هاتف"
            .Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
            .Columns(8).Width = 120
            .Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

        End With
        GetListFilled()
    End Sub

 

 

وفي نهاية هذا الحدث كما تلاحظ استدعاء للروتين الخاص بتعبئة البيانات، وهذه برمجته:

 

    Public Sub GetListFilled()
        Dim LSQL As String = "select * from employees order by ID"
        Dim LAdapter As New OleDbDataAdapter(LSQL, Con)
        Dim LDataSet As New DataSet
        Dim RowsCount As Integer
        Dim i As Integer

        dgv.Rows.Clear()

        If Con.State = ConnectionState.Closed Then
            Con.Open()
            LAdapter.Fill(LDataSet, "LoadingData")
            RowsCount = LDataSet.Tables("LoadingData").Rows.Count
            If RowsCount = 0 Then
                dgv.Rows.Clear()
                LDataSet.Reset()
                Con.Close()
                Exit Sub
            Else
                dgv.Rows.Add(RowsCount)

                
                For i = 0 To RowsCount - 1
                    With dgv
                        .Rows(i).Cells(0).Value = LDataSet.Tables("LoadingData").Rows(i).Item("ID")
                        .Rows(i).Cells(1).Value = LDataSet.Tables("LoadingData").Rows(i).Item("EmpNumber")
                        .Rows(i).Cells(2).Value = LDataSet.Tables("LoadingData").Rows(i).Item("EmpName")
                        .Rows(i).Cells(3).Value = LDataSet.Tables("LoadingData").Rows(i).Item("EmpNationality")
                        .Rows(i).Cells(4).Value = LDataSet.Tables("LoadingData").Rows(i).Item("EmpWorkPlace")
                        .Rows(i).Cells(5).Value = LDataSet.Tables("LoadingData").Rows(i).Item("EmpJobTitle")
                        .Rows(i).Cells(6).Value = LDataSet.Tables("LoadingData").Rows(i).Item("EmpEmploymentDate")
                        .Rows(i).Cells(7).Value = LDataSet.Tables("LoadingData").Rows(i).Item("EmpBasicSalary")
                        .Rows(i).Cells(8).Value = LDataSet.Tables("LoadingData").Rows(i).Item("EmpMobile")
                    End With
                Next
                LDataSet.Reset()
                Con.Close()
            End If
        Else
            LAdapter.Fill(LDataSet, "LoadingData")
            RowsCount = LDataSet.Tables("LoadingData").Rows.Count
            If RowsCount = 0 Then
                dgv.Rows.Clear()
                LDataSet.Reset()
                Con.Close()
                Exit Sub
            Else
                dgv.Rows.Add(RowsCount)

                
                For i = 0 To RowsCount - 1
                    With dgv
                        .Rows(i).Cells(0).Value = LDataSet.Tables("LoadingData").Rows(i).Item("ID")
                        .Rows(i).Cells(1).Value = LDataSet.Tables("LoadingData").Rows(i).Item("EmpNumber")
                        .Rows(i).Cells(2).Value = LDataSet.Tables("LoadingData").Rows(i).Item("EmpName")
                        .Rows(i).Cells(3).Value = LDataSet.Tables("LoadingData").Rows(i).Item("EmpNationality")
                        .Rows(i).Cells(4).Value = LDataSet.Tables("LoadingData").Rows(i).Item("EmpWorkPlace")
                        .Rows(i).Cells(5).Value = LDataSet.Tables("LoadingData").Rows(i).Item("EmpJobTitle")
                        .Rows(i).Cells(6).Value = LDataSet.Tables("LoadingData").Rows(i).Item("EmpEmploymentDate")
                        .Rows(i).Cells(7).Value = LDataSet.Tables("LoadingData").Rows(i).Item("EmpBasicSalary")
                        .Rows(i).Cells(8).Value = LDataSet.Tables("LoadingData").Rows(i).Item("EmpMobile")
                    End With
                Next
                LDataSet.Reset()
                Con.Close()
            End If
        End If
    End Sub

 

أرجو لك الاستفادة، والشكر موصول للأخ محمد.

تم تعديل هذه المشاركة بواسطة أبوبكر بن سويدان في 9 مايو 2013 في 01:34

#10

السلم عليكم

 يالاضافة الى ماذكره الاخوان  بامكانك ان تغير الهيدر من خلال الحدث CellFormatting لل DataGridView كما هو موضح :

 

اقتباس

Private Sub DataGridView1_CellFormatting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
"رقم الكتاب"= DataGridView1.Columns(0).HeaderText
 "العنوان"      =  DataGridView1.Columns(1).HeaderText
 "المؤلف"     =   DataGridView1.Columns(2).HeaderText
 "السعر"    =    DataGridView1.Columns(3).HeaderText
"دار النشر"        DataGridView1.Columns(4).HeaderText =
    End Sub

#11

عفواً يا شباب انا ماعرفت كيف يكون الكود ملون زي مافي الفيجوال بيسك ياليت لو تعلومني كيف كي يكون.... كي يكون اي كود اظيفه اكثر وضوح .

مواضيع مشابهة