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

ماهي أفضل طريقة لتعبئة ال DataGridView

مغلق
بدأه samsor في 19 مارس 2006 · 5 رد · 951 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أرجو أن تدولني على أفضل الطرق لتعبئة ال DataGridView

كنت قبل أعمل على VB.NET 2003 وكانت تعبيئة ال Data Grid عن طريق ال Table Style

اما الآن عندما انتقلت إلى VB.NET 2005 وجدت ان DataGridView ليس لها خاصية ال Table Style

وبعد البحث في المنتدى وجدت هذه الطريقة

   With DataGridView1
            If .Rows.Count <> 0 Then
                .Rows.Clear()
            End If

            .ColumnCount = 4
            ' .RowCount = 1
            .Columns(0).Width = 50
            .Columns(1).Width = 200
            .Columns(2).Width = 100
            .Columns(3).Width = 100
            .Columns(0).HeaderText = "ID"
            .Columns(1).HeaderText = "Name"
            .Columns(2).HeaderText = "Mobile"
            .Columns(3).HeaderText = "Year"
            .Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
            .Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
            .Columns(2).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
            .Columns(3).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter

            Dim i As Integer
            For i = 0 To ds.Tables("Client").Rows.Count - 1
                .Rows.Add()
                .Rows(i).Cells(0).Value = ds.Tables("Client").Rows(i)(0)
                .Rows(i).Cells(1).Value = ds.Tables("Client").Rows(i)(1)
                .Rows(i).Cells(2).Value = ds.Tables("Client").Rows(i)(2)
                .Rows(i).Cells(3).Value = ds.Tables("Client").Rows(i)(3)
            Next
End With

لكنني أشعر أنها غير مجدية خاصة ان كانت هناك صفوف كثيرة اكثر من 100

ما هو الحل الأمثل لتعبئتها؟؟

وشكرا

#2

السلام عليكم

يتم ملء DataGridView باسناد كائن Table للخاصية DataSource

ويتم ربط الـColumn بحقول الجدول عن طريق الخاصية DataPropertyName

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#3

مشكور أخوي على الرد..

بس ياليت توضح اكثر لاني ماعرفت ..

كيف استخدم خاصية DataPropertyName؟؟

الله يرضى عليك وضح لي بمثال

وجزاك الله خير

#4

اخي الكريم اسم الحقل الذي فيجملة select هو يكون في الخاصية DataPropertyName

يعني مثلا

select name from tbl

الان خصاية العمود الي تبغى الاسم يكون فيه تسمية

col.DataPropertyName="Name"

فهمتها؟

اما بالنسبة للاعمدة فلا ادري هل تريد انشائها بالكود؟؟

تقوم بالآتي

dim col as new datagridviewtxtbixcoumn

col.name="FirstName"

col.DataPropertyName="Name"

col.headertext="First Name"

datagridviewer1.columns.add(col)

'طبعا كاتب الاكواد من راسي فاسف للاخطاء الاملائية

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#5

اشكرك اخي Romantic_touch واقدر لك تجاوبك - ولو كان الإملاء خطأ- المهم الفكرة :rolleyes:

انا عملت الطريقة إلي قلتلي هي وطلعت فعلا اسماء الأعمدة

لكن انا عندي DataSet فيه البيانات الي بأعرضها فكيف اربط ال DataGridView بال DataSet??

وبعدين في ال col.DataPropertyName يكون اسم العمود الي في DataSet

يارب تكون فهمت علي :unsure:

#6

:D

لقد ربط ال DataGridView بال DataSet عن طريق ال DataSource

ثم عدلت اسماء الاعمدة كل عمود على حدة

وكان الكود كالتالي

with DataGridView1
.DataSource = ds.Tables("product")
            .Columns(0).HeaderText = "ID"
            .Columns(0).Width = 50
            .Columns(0).ReadOnly = True

            .Columns(1).HeaderText = "Product Name"
            .Columns(1).Width = 350
            .Columns(1).ReadOnly = True

            .Columns(2).HeaderText = "Price"
            .Columns(2).Width = 70
            .Columns(2).ReadOnly = True

        End With

ومشكورين والله ماقصرتوا..

الله يجزاكم كل خير ويفرج لكم كل كرب سواء كان داخل البرمجة او خارجها (h)

هذا الموضوع مغلق.

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