(11-06-18, 01:33 AM)dubai.eig كتب : اسف على المداخله
بارك الله فيك وشكرا على الشرح والكود
عندي استفسار
اذا انا محدد في DataGridView1
ال column
كيف بيكون الكود بارك الله فيك
لاني جربت يطلع لي غلط
إقتباس :'Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index'
بارك الله فيك وشكرا
بدلاً من انشاء عدد من الـ Columns
لتنشاء الاسماء التى تحتاج اليها
فى حالة كنت تستدعى البيانات من قاعدة البيانات
وناتج الاستعلام سيكون فى dt كمثال
حيث ان
dt هو
كود :
Dim dt As New DataTable
فكل ما عليك فعله التالى
لنقول ان DataGridView
سيتم ادخال بيانتها بهذا الكود
كود :
DataGridView1.DataSource = dt
كل ما عليك فعله اسفل الكود انشاء التالى
كود :
DataGridView1.Columns(0).HeaderText = "mm"
DataGridView1.Columns(1).HeaderText = "freq"
DataGridView1.Columns(2).HeaderText = "callsigns"
DataGridView1.Columns(3).HeaderText = "utc"
DataGridView1.Columns(4).HeaderText = "mode"
وبكده تكون قمت انت بتغيير اسماء الاعمدة بالاسماء التى تريدها
ده فى حالة ان DataGridView
يتم جلب البيانات من كود استعلام لقاعدة بيانات او اى كان نتائج البيانات
طيب لو كان البيانات مدخلة يدوى من خلال الاكواد
او من خلال textbox وما شبق فى الفورم
كل ما عليك فعله استخدام الكود التالى
كود :
DataGridView1.ColumnCount = 5
DataGridView1.Columns(0).HeaderText = "mm"
DataGridView1.Columns(1).HeaderText = "freq"
DataGridView1.Columns(2).HeaderText = "callsigns"
DataGridView1.Columns(3).HeaderText = "utc"
DataGridView1.Columns(4).HeaderText = "mode"
ايضاً يمكنك استخدام نفس الاكواد السابقة بالطريقة التالية
كود :
DataGridView1.Columns(0).Name = "mm"
ولنقول انك ستقوم بادخال البيانات يدوياً من خلال الفورم
فقم باستخدام الكود التالى
كود :
Dim row As String()
row = New String() {TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text, TextBox5.Text}
DataGridView1.Rows.Add(row)
طبعاً بخصوص لو من قاعدة البيانات فالامر تم توضيحه فى بداية الرد
طيب لو قلنا انك تستدعى من قاعدة البيانات
وجود الاستعلام عبارة عن فلتر محدد ومن خلال الاستعلام فى ID
وطبيعي بسبب الاستعلام يكون النتائج مثل
5 , 12 , 13, 16, 35 , 41
وانت كل ما تريده ان تجعل الترقيم تسلسلى من 1 : 10 مثلاً كان النتائج 10
فكل ما عليك فعله هو
وضح الكود التالى
كود :
Dim i As Integer = 0
Dim ii As Integer = 1
For i = 0 To DataGridView1.Rows.Count
ii += 1
' رقم 0 هنا يعنى العمود الاول
DataGridView1.Item(0, i).Value = ii.ToString
' لنقول انك محتاج تعدل على العمود اخر
' الاعمدة بيعد من رقم 0 بحيث هيكون الاعداد 0 1 2 3 4
' وبكده يعنى لديك 5 اعمدة لكن فى البرمجة بيكون الرقم الاخير 4
' فمثلاً محتاج ان تجعل الترقيم فى عمود mode
' هيكون الكود بالشكل التالى
DataGridView1.Item(4, i).Value = ii.ToString
Next
اتمنى ان يكون الشرح فى كل ما تحتاج اليه
وكل ما قد يفيدك مستقبلياً
تحياتى لك
وتمنياتى لك التوفيق