تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
استفسار عن كود تلوين صف معين بناءًا على تحقق شرط بخلية في الداتاجريدفيو
#1
بسم الله الرحمن الرحيم
--------------------------

إخواني الكرام أود تلوين صف كامل في الداتا جريدفيو باللون الأحمر، عندما تكون القيمة Null في العمود الثالث 

حاولت استخدام هذا الكود ولكن لم يكن صحيحا، فما الحل بارك الله فيكم:

PHP كود :
Public Sub color_Exp()
 
       For i As Integer 0 To Me.DataGridView1.Rows.Count 1
            If Me
.DataGridView1.Rows(i).Cells("Exp").Value "null" Then
                Me
.DataGridView1.Rows(i).Cells("Exp").Style.BackColor Color.Red

            End 
If
 
       Next
    End Sub 
عن أبي هريرة - رضي الله عنه - قال: قال رسول الله - صلى الله عليه وسلم -: ((كلمتان خفيفتان على اللسان، ثقيلتان في الميزان، حبيبتان إلى الرحمن: سبحان الله وبحمده، سبحان الله العظيم))؛ متفق عليه.

الرد
تم الشكر بواسطة:
#2
كود :
If isnothing(Me.DataGridView1.Rows(i).Cells("Exp").Value) Then
الرد
تم الشكر بواسطة: Hazem1 , Hazem1 , محمد كريّم , محمد كريّم , elgokr
#3
(10-12-18, 12:00 PM)rmnr كتب :
كود :
If isnothing(Me.DataGridView1.Rows(i).Cells("Exp").Value) Then

جزاك الله خيراً أخي على مجهودك ولكن الكود لم يعمل، القيمة هي : Null أقوم بكتابة حروفها بيدي يعني مثلاً لو أن قيمة عمر الطلاب 22 - 23 - 24 سنة، فأنا أردت أن يقوم بتحديد كل الصفوف التي تحتوي على الخلايا التي تشمل 22 فقط ويجعلها باللون الأحمر مثلاً.
عن أبي هريرة - رضي الله عنه - قال: قال رسول الله - صلى الله عليه وسلم -: ((كلمتان خفيفتان على اللسان، ثقيلتان في الميزان، حبيبتان إلى الرحمن: سبحان الله وبحمده، سبحان الله العظيم))؛ متفق عليه.

الرد
تم الشكر بواسطة: elgokr , elgokr
#4
حاول تستخدم هذا الكود
كود :
Private Sub redpepole()
       On Error Resume Next
       Dim ss As Integer
       For i = 0 To DataGridView1.Rows.Count - 1



           ss = DataGridView1.Rows(i).Cells("Exp").Value.ToString


           If ss = "null" Then

           DataGridView1.Rows(i).DefaultCellStyle.BackColor = Color.Red

           Else



           End If
       Next




 

   End Sub
الرد
تم الشكر بواسطة: Hazem1 , Hazem1
#5
(10-12-18, 10:54 AM)Hazem1 كتب : بسم الله الرحمن الرحيم
--------------------------

إخواني الكرام أود تلوين صف كامل في الداتا جريدفيو باللون الأحمر، عندما تكون القيمة Null في العمود الثالث 

حاولت استخدام هذا الكود ولكن لم يكن صحيحا، فما الحل بارك الله فيكم:

PHP كود :
Public Sub color_Exp()
 
       For i As Integer 0 To Me.DataGridView1.Rows.Count 1
            If Me
.DataGridView1.Rows(i).Cells("Exp").Value "null" Then
                Me
.DataGridView1.Rows(i).Cells("Exp").Style.BackColor Color.Red

            End 
If
 
       Next
    End Sub 

اخي Hazem1 كودك صحيح ضعه  في الحدث المناسب form_load مثلا
اعمل الخير واجرك لاتنتظره فالله خير من اليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد
تم الشكر بواسطة: Hazem1
#6
اخي حازم السلام عليكم
جربت الكود في حدث  form_load وهو شغال تماما وهذه صورة من البرنامج والكود 
كود :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       FillData()
       Prd.Dgv_EnglishHeader(dgv_table)
       '===============
       For i As Integer = 0 To Me.dgv_table.Rows.Count - 1
           If Me.dgv_table.Rows(i).Cells("adress").Value = "null" Then
               Me.dgv_table.Rows(i).Cells("adress").Style.BackColor = Color.Red

           End If
       Next
       '===================
   End Sub


الملفات المرفقة صورة/صور
   
اعمل الخير واجرك لاتنتظره فالله خير من اليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد
تم الشكر بواسطة: Hazem1 , Hazem1
#7
(12-12-18, 04:48 PM)ابراهيم ايبو كتب : اخي حازم السلام عليكم
جربت الكود في حدث  form_load وهو شغال تماما وهذه صورة من البرنامج والكود 
كود :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       FillData()
       Prd.Dgv_EnglishHeader(dgv_table)
       '===============
       For i As Integer = 0 To Me.dgv_table.Rows.Count - 1
           If Me.dgv_table.Rows(i).Cells("adress").Value = "null" Then
               Me.dgv_table.Rows(i).Cells("adress").Style.BackColor = Color.Red

           End If
       Next
       '===================
   End Sub

جزاك الله خيراً أخي الحبيب ابراهيم ايبو، كان الخطأ مني في وضع اسم العمود فلابد من وضع اسم العمود المذكور في جدول الداتاجريدفيو

لي استفسار يسير : هل يُمكن تلوين الصف كله بدلاً من الخلية الواحدة؟
عن أبي هريرة - رضي الله عنه - قال: قال رسول الله - صلى الله عليه وسلم -: ((كلمتان خفيفتان على اللسان، ثقيلتان في الميزان، حبيبتان إلى الرحمن: سبحان الله وبحمده، سبحان الله العظيم))؛ متفق عليه.

الرد
تم الشكر بواسطة:
#8
السلام عليكم اخي حازم

لاأعرف كود خاص بتلوبن الصف بأكمله ولكن هناك دائما حلول

فلو افترضنا انك تريد الذهاب الى المدينة وانت في قرية ولايوجد سيارة تستقلها فهل تلغي الذهاب؟ بالطبع لا سوف تستخدم اي وسيلة ركوب حتى ولو كانت 

دابة لتصل الى المدينة وفي حالتنا هذه وغيرها اذا لم يكن هناك كود معين الجأ الى التحايل بالبرمجة ولو اصبح الكود طويل نسبيا واستخدمه الى ان تتوصل الى

كود مختصر في اوقات لاحقة وقد قمت بكتابة الكود على النحو التالي وانظر كم عمود عندك في الداتا غرايد واعمل تلوبن لكل خلية بنفس الصف لكل عمود.. المهم ان تصل الى غايتك وهذا منهج في التفكبر البرمجي اتمنى ان تسير فيه فهو سيجعل تفكيرك اوسع دمت بخير


كود :
    For i As Integer = 0 To Me.dgv_table.Rows.Count - 1
           If Me.dgv_table.Rows(i).Cells("adress").Value = "homs" Then
               Me.dgv_table.Rows(i).Cells("adress").Style.BackColor = Color.Red
               Me.dgv_table.Rows(i).Cells(0).Style.BackColor = Color.Red
               Me.dgv_table.Rows(i).Cells(1).Style.BackColor = Color.Red
               Me.dgv_table.Rows(i).Cells(2).Style.BackColor = Color.Red
               Me.dgv_table.Rows(i).Cells(3).Style.BackColor = Color.Red

           End If
       Next


وهذه صورة لتحديد الصف


الملفات المرفقة صورة/صور
   
اعمل الخير واجرك لاتنتظره فالله خير من اليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد
تم الشكر بواسطة: Hazem1 , alshandodi
#9
(12-12-18, 07:54 PM)ابراهيم ايبو كتب :
السلام عليكم اخي حازم

لاأعرف كود خاص بتلوبن الصف بأكمله ولكن هناك دائما حلول

فلو افترضنا انك تريد الذهاب الى المدينة وانت في قرية ولايوجد سيارة تستقلها فهل تلغي الذهاب؟ بالطبع لا سوف تستخدم اي وسيلة ركوب حتى ولو كانت 

دابة لتصل الى المدينة وفي حالتنا هذه وغيرها اذا لم يكن هناك كود معين الجأ الى التحايل بالبرمجة ولو اصبح الكود طويل نسبيا واستخدمه الى ان تتوصل الى

كود مختصر في اوقات لاحقة وقد قمت بكتابة الكود على النحو التالي وانظر كم عمود عندك في الداتا غرايد واعمل تلوبن لكل خلية بنفس الصف لكل عمود.. المهم ان تصل الى غايتك وهذا منهج في التفكبر البرمجي اتمنى ان تسير فيه فهو سيجعل تفكيرك اوسع دمت بخير


كود :
    For i As Integer = 0 To Me.dgv_table.Rows.Count - 1
           If Me.dgv_table.Rows(i).Cells("adress").Value = "homs" Then
               Me.dgv_table.Rows(i).Cells("adress").Style.BackColor = Color.Red
               Me.dgv_table.Rows(i).Cells(0).Style.BackColor = Color.Red
               Me.dgv_table.Rows(i).Cells(1).Style.BackColor = Color.Red
               Me.dgv_table.Rows(i).Cells(2).Style.BackColor = Color.Red
               Me.dgv_table.Rows(i).Cells(3).Style.BackColor = Color.Red

           End If
       Next


وهذه صورة لتحديد الصف

جزاك الله خيراً أخي الحبيب [b][b]ابراهيم ايبو[/b]، نصيحتك طيبة طيَّب الله بكل خير، الكود أصبح يعمل بشكل سليم، سلمك الله من كل سوء وأكرمك بالجنة.[/b]
عن أبي هريرة - رضي الله عنه - قال: قال رسول الله - صلى الله عليه وسلم -: ((كلمتان خفيفتان على اللسان، ثقيلتان في الميزان، حبيبتان إلى الرحمن: سبحان الله وبحمده، سبحان الله العظيم))؛ متفق عليه.

الرد
تم الشكر بواسطة: ابراهيم ايبو , ابراهيم ايبو , elgokr
#10
كود :
   Private Sub DataGridView1_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
       If DataGridView1.Columns(e.ColumnIndex).Name = "Exp" AndAlso IsDBNull(e.Value) Then
           DataGridView1.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.Red
       End If
   End Sub
الرد
تم الشكر بواسطة: elgokr , elgokr , ابراهيم ايبو



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


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