منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : الشرط في datatable
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
مرحبا

انا لدي مشروع ويحتوي على اداة datatable


ويحتوي على 4 اعمدة


وكتبت شرط اذا كان في العمود الثاني رقم يختلف عن 55 او 66  يضهر رسالة فقط

وكتبت الشرط التالي

كود :
     If (dsResult.rows.count > 2 )= "55""66" then
        MessageBox.Show("yas")
end if  





وحاولت اكتب كود مشابه للشرط في الديتا جريد




كود :
       If dgResults.Item(2, dgResults.VisibleRowCount) = 443 Then

           MessageBox.Show("yas")

       End If



ولم ينجح ماهي المشكلة
السلام عليكم اخي الكريم
اليك هذا الكود الذي سيقوم بالتحقق من العمود الثالث   (index 2) في الصف الذي نقف عليه اذا كانت القيمة 50 سيظهر رسالة ok



كود :
 If DataGridView1.CurrentRow.Cells(2).Value = 50 Then
           MsgBox("ok")
       End If
اما لكل الصفوف فسنحتاج الى جملة For
ضهر الخطا التالي

Error 'CurrentRow' is not a member of 'System.Data.DataTable'.
السلام عليكم اخي الكريم 
الخطأ مصدره ان الكود الذي كتبته لك ليس للداتا تابل بل للداتا غرايد مثلما طلبت انتبه لتوظيفه في المكان الصحيح
واليك الكود في مثال
لم ينجح الكود اخي

وهاذا مثال للمشروع

https://www.upload.ee/download/10166626/...81b/vb.zip
حسب المثال اكتب هذا الكود
PHP كود :
For As Integer 0 To DataGridView1.Rows.Count IIf(DataGridView1.AllowUserToAddRows21)
 
           If DataGridView1.Rows(i).Cells(2).Value <> "55" And DataGridView1.Rows(i).Cells(2).Value <> "66" Then
                DataGridView1
.Rows(i).DefaultCellStyle.BackColor Color.GreenYellow
            Else
                DataGridView1
.Rows(i).DefaultCellStyle.BackColor DefaultBackColor

            End 
If
 
       Next 
يلون الصف في حال عدم وجود قيمة 55 او 66.
عدل على الكود ليناسب المطلوب بشكله النهائي.
تفضل كود المشروع كاملاً طبقاً لما هو مرفق بردك
كود :
Public Class Form1
   Private dt As DataTable

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       dt = New DataTable
       dt.Columns.Add("الاسم", GetType(String))
       dt.Columns.Add("الرقم", GetType(String))

       Dim myrow As DataRow = dt.NewRow

       myrow("الاسم") = "الاسم"
       myrow("الرقم") = 66
       dt.Rows.Add(myrow)
       Button1.PerformClick()
       Button1.Hide()

   End Sub


   Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click

       DataGridView1.DataSource = dt

   End Sub

   Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       For i As Integer = 0 To DataGridView1.Rows.Count - IIf(DataGridView1.AllowUserToAddRows, 2, 1)
           If DataGridView1.Rows(i).Cells(1).Value = 55 Or DataGridView1.Rows(i).Cells(1).Value = 66 Then
               MsgBox("yes")
           Else
               MsgBox("No")
           End If
       Next
   End Sub
End Class

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