منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
البحث بين تاريخين - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175)
+--- قسم : قسم اسئلة C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=176)
+--- الموضوع : البحث بين تاريخين (/showthread.php?tid=53113)



البحث بين تاريخين - Elalfee - 12-05-25

السلام عليكم ورحمة الله وبركاته 
محتاج مساعدة  في لغة سي شارب 
محتاج مساعدة في البحث بين تاريخين  مع العلم اني مستخدم قاعدة البيانات file text 
انا لقيت كود vb. Net وحولته لسي شارب ولم يعمل يا ريت لوحد يعرف ليه لم يعمل او يعرف كود يعمل اكون شاكر جدا 
private void Search_Date()
{
    if (TextBox1.Text != "")
    {
        DateTime date2 = DateTimePicker1.Value.Date;
        DateTime date3 = DateTimePicker2.Value.Date;
        int result2;
        int result3;
        for (var i = 0; i <= DataGridView1.Rows.Count - 1; i++)
        {
            result2 = DateTime.Compare(date2, DataGridView1.Rows(i).Cells(7).Value);
            result3 = DateTime.Compare(date3, DataGridView1.Rows(i).Cells(7).Value);
            if (result2 <= 0 & result3 >= 0)
                DataGridView1.Rows(i).Visible = true;
            else
                DataGridView1.Rows(i).Visible = false;
        }
    }
}


RE: البحث بين تاريخين - Kamil - 17-05-25

الكود الصحيح

PHP كود :
private void Search_Date()
{
 
   DateTime startDate DateTimePicker1.Value.Date;
 
   DateTime endDate DateTimePicker2.Value.Date;

 
   foreach (DataGridViewRow row in DataGridView1.Rows)
 
   {
 
       // نتأكد أن الصف غير جديد (صف الإدخال الجديد)
 
       if (!row.IsNewRow)
 
       {
 
           // نحاول تحويل القيمة إلى تاريخ
 
           if (DateTime.TryParse(row.Cells[7].Value?.ToString(), out DateTime rowDate))
 
           {
 
               // إظهار الصف إذا كان التاريخ داخل النطاق
 
               if (rowDate >= startDate && rowDate <= endDate)
 
                   row.Visible true;
 
               else
                    row
.Visible false;
 
           }
 
           else
            
{
 
               // إذا لم يكن التاريخ صالحًا، نخفي الصف
 
               row.Visible false;
 
           }
 
       }
 
   }