تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] عمل تنبيه بتاريخ الصلاحية
#1
السلام عليكم اخوان 
انا عندي برنامج ادارة منتجات وعملت في تنبيه للمنتجات الي تقارب على الانتهاء بكم يوم من خلال تلوين الصف للمنتج في الداتا كرد فيو
بس لما اغلق الفورمه وانتقل لفورمه تانية وارجع افتح الفورمه من جديد يختفي اللون الي عاملته للخلايا 
ياريت اذا في حدا بيعرف الحل يجاوبني وبكون ممنونه كتير منكم...
الرد
تم الشكر بواسطة:
#2
طيب كيف لنا ان نعرف كيف قمت بتلوين الخلايا ؟ اين وضعت الكود ؟ ما هو الكود تحديدا ؟
الرد
#3
(06-09-20, 10:39 PM)Anas Mahmoud كتب : طيب كيف لنا ان نعرف كيف قمت بتلوين الخلايا ؟ اين وضعت الكود ؟ ما هو الكود تحديدا ؟

الكود انا خليتو في ال load form 
وطبعا العمود الي في التاريخ هو العمود الثاني من الداتا كرد فيو برمجيا حيكون رقمه (1)
اذا كان المنتج منتهي الصلاحية حيكون لونه أورنج اما اذا باقي له 31 يوم حيكون لونه بلاخضر
وقارنت تاريخ الصلاحية الموجود بلجدول مع تاريخ اليوم
وهذا هو الكود :-
PHP كود :
Dim a As Date Date.Today
        For i 
As Integer 0 To DataGridView.RowCount 1
            If DataGridView
(1i).Value <= a Then
                DataGridView
.Rows(i).DefaultCellStyle.BackColor Color.Orange
            End 
If
 
       Next
        Dim b 
As Date Date.Today.Date.AddDays(31)
 
       For i As Integer 0 To DataGridView.RowCount 1
            If DataGridView
(1i).Value And DataGridView(1i).Value <= b Then
                DataGridView
.Rows(i).DefaultCellStyle.BackColor Color.Green
            End 
If
 
       Next 
الرد
#4
هل تقوم بعد هذا الكود في الفورم لود بملئ الداتا جريد فيو مرة اخرى ؟
ربما المشكلة ان بعد تنفيذ كود التلوين تمسح الخانات وتضيفها من جديد فيضيع التلوين
الرد
#5
(06-09-20, 10:59 PM)Anas Mahmoud كتب : هل تقوم بعد هذا الكود في الفورم لود بملئ الداتا جريد فيو مرة اخرى ؟
ربما المشكلة ان بعد تنفيذ كود التلوين تمسح الخانات وتضيفها من جديد فيضيع التلوين

نعم انا كاتبه كود ملئ الداتا جرد فيو وهذا الكود بلform load
الرد
تم الشكر بواسطة: Hasaneen , Hasaneen , حريف برمجة
#6
طيب عليك وضع كود تغيير لون الاصناف في اجراء Sub واستدعائه بعد ملئ الداتا جريد فيو وليس في حدث form.load
هكذا مثلا :

كود :
Sub UpdateColors()
Dim a As Date = Date.Today
       For i As Integer = 0 To DataGridView.RowCount - 1
           If DataGridView(1, i).Value <= a Then
               DataGridView.Rows(i).DefaultCellStyle.BackColor = Color.Orange
           End If
       Next
       Dim b As Date = Date.Today.Date.AddDays(31)
       For i As Integer = 0 To DataGridView.RowCount - 1
           If DataGridView(1, i).Value > a And DataGridView(1, i).Value <= b Then
               DataGridView.Rows(i).DefaultCellStyle.BackColor = Color.Green
           End If
       Next
End Sub

وبعد كل عملية ملئ للداتا جريد فيو تستدعي هذا الاجراء :

كود :
UpdateColors()
الرد
#7
(06-09-20, 11:21 PM)Anas Mahmoud كتب : طيب عليك وضع كود تغيير لون الاصناف في اجراء Sub واستدعائه بعد ملئ الداتا جريد فيو وليس في حدث form.load
هكذا مثلا :

كود :
Sub UpdateColors()
Dim a As Date = Date.Today
       For i As Integer = 0 To DataGridView.RowCount - 1
           If DataGridView(1, i).Value <= a Then
               DataGridView.Rows(i).DefaultCellStyle.BackColor = Color.Orange
           End If
       Next
       Dim b As Date = Date.Today.Date.AddDays(31)
       For i As Integer = 0 To DataGridView.RowCount - 1
           If DataGridView(1, i).Value > a And DataGridView(1, i).Value <= b Then
               DataGridView.Rows(i).DefaultCellStyle.BackColor = Color.Green
           End If
       Next
End Sub

وبعد كل عملية ملئ للداتا جريد فيو تستدعي هذا الاجراء :

كود :
UpdateColors()

نفس الشي اللون يختفي بثاني مرة افتح الفورم
الرد
تم الشكر بواسطة: Hasaneen , Hasaneen , حريف برمجة
#8
الحل بسيط واستخدمه دايما

ضعي كود التلوين في الحدث CellFormatting للداتاجريد
PHP كود :
   Private Sub DataGridView1_CellFormatting(sender As ObjectAs DataGridViewCellFormattingEventArgsHandles DataGridView1.CellFormatting
        If e
.ColumnIndex And e.Value IsNot Nothing Then

            Dim a 
As Date Date.Today
            If CDate
(e.Value) <= a Then
                sender
.Rows(e.RowIndex).DefaultCellStyle.BackColor Color.Orange
            End 
If

 
           Dim b As Date Date.Today.Date.AddDays(31)
 
           If CDate(e.Value) > And CDate(e.Value) <= b Then
                sender
.Rows(e.RowIndex).DefaultCellStyle.BackColor Color.Green
            End 
If

 
       End If
 
   End Sub 
الرد
#9
(06-09-20, 11:45 PM)Hasaneen كتب : الحل بسيط واستخدمه دايما

ضعي كود التلوين في الحدث CellFormatting للداتاجريد
PHP كود :
   Private Sub DataGridView1_CellFormatting(sender As ObjectAs DataGridViewCellFormattingEventArgsHandles DataGridView1.CellFormatting
        If e
.ColumnIndex And e.Value IsNot Nothing Then

            Dim a 
As Date Date.Today
            If CDate
(e.Value) <= a Then
                sender
.Rows(e.RowIndex).DefaultCellStyle.BackColor Color.Orange
            End 
If

 
           Dim b As Date Date.Today.Date.AddDays(31)
 
           If CDate(e.Value) > And CDate(e.Value) <= b Then
                sender
.Rows(e.RowIndex).DefaultCellStyle.BackColor Color.Green
            End 
If

 
       End If
 
   End Sub 
شكرا جزيلا لحظرتك تم حل المشكله بنجاح ?
بس اذا ممكن ليش ما عملنا فور لوب هنا اذا ممكن توضيح؟
الرد
تم الشكر بواسطة: Hasaneen , rochdi191 , حريف برمجة
#10
(07-09-20, 12:04 AM)Moham كتب : بس اذا ممكن ليش ما عملنا فور لوب هنا اذا ممكن توضيح؟

لان هذا الحدث بيتنفذ في كل مره عندما تتغير قيمه كل خليه
حاولي تغيري قيمه اي خليه وشوفي شو اللي بيصير

بقصد الخليه رقم 1
الرد


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  فورم تنبيه باقتراب التاريخ khaled Mohammed 1 57 21-09-20, 07:26 PM
آخر رد: Anas Mahmoud
  [VB.NET] مشكل في كود انتهاء تاريخ الصلاحية او الدفع rochdi191 6 375 23-06-20, 04:42 PM
آخر رد: rochdi191
  كود تنبيه بقرب حلول قسط شهري الحسين احمد 1 198 20-06-20, 01:51 AM
آخر رد: ابراهيم ايبو
  البحث بتاريخ اليوم في الدتا جريد فيو mazentq 5 416 27-05-20, 08:36 PM
آخر رد: rochdi191
  [سؤال] هل يوجد صوت تنبيه غير صوت beebالموجود في فيجول بيسك محمد ايمن 9 439 26-05-20, 06:57 AM
آخر رد: محمد ايمن
  [كود] اريد كود رسالة تنبيه datagridview فارغة sidi bibi 3 311 26-05-20, 05:45 AM
آخر رد: sidi bibi
  [VB.NET] كيف اضيف صوت تنبيه عند انتهاء وقت محدد في البرنامج mazentq 5 365 25-05-20, 10:16 PM
آخر رد: ابراهيم ايبو
  مطلوب التعديل على كود يتعلق بفلترة الاصناف حسب تاريخ انتهاء الصلاحية momani33 1 326 10-04-20, 05:23 AM
آخر رد: asemshahen5
Information طلب كواد رسالة تنبيه في شريط المهام ahmed20 8 950 28-02-20, 06:14 PM
آخر رد: alsalamoni
  [سؤال] كيفية تحديد تواريخ الصلاحية Amr Saad 5 577 28-02-20, 05:31 PM
آخر رد: asemshahen5

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


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