تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] محتاج تعديل كود DataGridView
#1
السلام عليكم 

يسعد الله اوقاتكم


عندي مشكله صغيره في ال DataGridView

انا اطلب له تلوين الاسطر والمشكله ان يبدى التلوين من السطر الثاني

يعني البدايه تكون من السطر الثاني

   


وهذا الكود


كود :
For intI = DataGridView1.Rows.Count - 1 To 0 Step -1
           For intJ = intI - 1 To 0 Step -1

               If IsDBNull(DataGridView1.Rows(intI).Cells(8).Value) Then

               ElseIf DataGridView1.Rows(intI).Cells(8).Value = "M" Then

                   DataGridView1.Rows(intI).DefaultCellStyle.BackColor = Color.FromArgb(&HFF, &HFF, &H66)

               End If
               If IsDBNull(DataGridView1.Rows(intI).Cells(8).Value) Then

               ElseIf DataGridView1.Rows(intI).Cells(8).Value = "B" Then

                   DataGridView1.Rows(intI).DefaultCellStyle.BackColor = Color.LimeGreen

               End If
               If IsDBNull(DataGridView1.Rows(intI).Cells(8).Value) Then

               ElseIf DataGridView1.Rows(intI).Cells(8).Value = "M/B" Then

                   DataGridView1.Rows(intI).DefaultCellStyle.BackColor = Color.Violet

               End If

               If IsDBNull(DataGridView1.Rows(intI).Cells(8).Value) Then

               ElseIf DataGridView1.Rows(intI).Cells(8).Value = "C" Then

                   DataGridView1.Rows(intI).DefaultCellStyle.BackColor = Color.FromArgb(&HCC, &H0, &H0)

               End If
           Next
       Next



اعتقد محتاج تعديل في هذا السطر

كود :
       For intI = DataGridView1.Rows.Count - 1 To 0 Step -1
           For intJ = intI - 1 To 0 Step -1


حاولت اغير بس ما ضبط معاي

افيدوني بارك الله فيكم وشكرا
الرد
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاته

فقط استبدل الاسطر المذكور بهذا 
كود :
       For intI = DataGridView1.RowCount - 1 To 0 Step -1
           For intJ = DataGridView1.ColumnCount - 1 To 0 Step -1

لكن سؤال واحد فقط لماذا تستخدم intJ بداخل intI
بما انك تقوم بتلوين الصفوف مباشراً وليس خلية واحدة

فيكفي فقط استخدام على هذا النحو
كود :
       For intI = DataGridView1.RowCount - 1 To 0 Step -1


خلاف نقطة التحقق المتكررة اذا كان فارغ او بدون 
لا يقوم بعمل اى شئ
واذا كان بقيمة محددة يقوم بتطبيق لون معين
مثل ما هو موضح هنا
كود :
              If IsDBNull(DataGridView1.Rows(intI).Cells(8).Value) Then

              ElseIf DataGridView1.Rows(intI).Cells(8).Value = "C" Then
                  DataGridView1.Rows(intI).DefaultCellStyle.BackColor = Color.FromArgb(&HCC, &H0, &H0)
              End If

على العموم استبدل الكود كاملاً المذكور بموضوعك بهذا الشكل ليكون افضل معك
كود :
       For intI = 0 To DataGridView1.RowCount - 1
           If DataGridView1.Rows(intI).Cells(8).Value = "M" Then
               DataGridView1.Rows(intI).DefaultCellStyle.BackColor = Color.FromArgb(&HFF, &HFF, &H66)
           ElseIf DataGridView1.Rows(intI).Cells(8).Value = "B" Then
               DataGridView1.Rows(intI).DefaultCellStyle.BackColor = Color.LimeGreen
           ElseIf DataGridView1.Rows(intI).Cells(8).Value = "M/B" Then
               DataGridView1.Rows(intI).DefaultCellStyle.BackColor = Color.Violet
           ElseIf DataGridView1.Rows(intI).Cells(8).Value = "C" Then
               DataGridView1.Rows(intI).DefaultCellStyle.BackColor = Color.FromArgb(&HCC, &H0, &H0)
           Else
               DataGridView1.Rows(0).DefaultCellStyle.BackColor = Color.White
           End If
       Next

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
#3
(25-02-19, 10:58 PM)elgokr كتب :
وعليكم السلام ورحمة الله وبركاته

فقط استبدل الاسطر المذكور بهذا 
كود :
       For intI = DataGridView1.RowCount - 1 To 0 Step -1
           For intJ = DataGridView1.ColumnCount - 1 To 0 Step -1

لكن سؤال واحد فقط لماذا تستخدم intJ بداخل intI
بما انك تقوم بتلوين الصفوف مباشراً وليس خلية واحدة

فيكفي فقط استخدام على هذا النحو
كود :
       For intI = DataGridView1.RowCount - 1 To 0 Step -1


خلاف نقطة التحقق المتكررة اذا كان فارغ او بدون 
لا يقوم بعمل اى شئ
واذا كان بقيمة محددة يقوم بتطبيق لون معين
مثل ما هو موضح هنا
كود :
              If IsDBNull(DataGridView1.Rows(intI).Cells(8).Value) Then

              ElseIf DataGridView1.Rows(intI).Cells(8).Value = "C" Then
                  DataGridView1.Rows(intI).DefaultCellStyle.BackColor = Color.FromArgb(&HCC, &H0, &H0)
              End If

على العموم استبدل الكود كاملاً المذكور بموضوعك بهذا الشكل ليكون افضل معك
كود :
       For intI = 0 To DataGridView1.RowCount - 1
           If DataGridView1.Rows(intI).Cells(8).Value = "M" Then
               DataGridView1.Rows(intI).DefaultCellStyle.BackColor = Color.FromArgb(&HFF, &HFF, &H66)
           ElseIf DataGridView1.Rows(intI).Cells(8).Value = "B" Then
               DataGridView1.Rows(intI).DefaultCellStyle.BackColor = Color.LimeGreen
           ElseIf DataGridView1.Rows(intI).Cells(8).Value = "M/B" Then
               DataGridView1.Rows(intI).DefaultCellStyle.BackColor = Color.Violet
           ElseIf DataGridView1.Rows(intI).Cells(8).Value = "C" Then
               DataGridView1.Rows(intI).DefaultCellStyle.BackColor = Color.FromArgb(&HCC, &H0, &H0)
           Else
               DataGridView1.Rows(0).DefaultCellStyle.BackColor = Color.White
           End If
       Next

تحياتى لك
وتمنياتى لك التوفيق


تسلم اايدك بارك الله فيك

دائما والحمدالله نستفيد منكم

ضبط والحمدالله وكل شي تمام

احسنت استاذي لا حرمنا منك  Rolleyes
الرد
تم الشكر بواسطة: ابراهيم ايبو , elgokr
#4
الحمد لله دائماً وابداً 
والحمد لله دائماً على كل شئ

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة: sendbad100


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Lightbulb [VB.NET] الرجاء تعديل الكود بالملف المرفق الراس الكبيرة 2 97 01-06-19, 01:40 AM
آخر رد: الراس الكبيرة
  [VB.NET] حدث تعديل الخلية محمد اسماعيل 5 126 19-05-19, 03:57 AM
آخر رد: elgokr
Heart [VB.NET] كل عام وانتم بخير ... محتاج كود نسخ قاعدة البيانات تلقائيا abdullhadi999 32 841 15-05-19, 08:24 PM
آخر رد: asemshahen5
  خطأ أثناء عملية البحث في DATAGRIDVIEW ahmedfa71 5 120 14-05-19, 04:10 PM
آخر رد: elgokr
  [VB.NET] تعديل اكتر من صف بقاعدة البيانات محمد اسماعيل 7 251 11-05-19, 09:21 PM
آخر رد: elgokr
  [VB.NET] تعديل على كود Split DK-x 3 139 11-05-19, 04:44 PM
آخر رد: elgokr
  datagridview combo box ghias 3 125 11-05-19, 04:25 PM
آخر رد: elgokr
  [VB.NET] محتاج تعديل على الكود dubai.eig 2 122 07-05-19, 06:02 PM
آخر رد: dubai.eig
  مشكله في تعديل الصورة قاعدة بيانات اكسس الوايلي 12 372 25-04-19, 09:26 AM
آخر رد: elgokr
  خطأ في عملية حفظ محتوى datagridview إلى جدول من قاعدة البيانات ahmedfa71 7 161 23-04-19, 02:17 AM
آخر رد: elgokr

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم