تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] طلب مساعدة بخصوص الدات تايم في الداتا جريد
#1
السلام عليكم
عندي خانتين بهما أداة DATETIMEPICKER داخل DATAGRIDVIEW وكنت أريد في حالة ادخال الأولى أن يحسب مدة معينة وتكون القيمة للثانية
بمعنى أن الأولى لو بتاريخ 01-01-2020 تكون الثانية 28-01-2020
وأشكركم شكرا جزيلا
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم اخي الكريم عاشق الرسول
اللهم صل على محمد وال محمد
اسعد الله صباحكم ووقاكم من كل شر
اخي الكريم اذا كنت تدخل التاريخ من اداتي DateTimePecke  اليك هذا الكود في الجدث التالي
كود :
Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
       DateTimePicker2.Value = DateTimePicker1.Value.AddDays(27)
   End Sub

واذا كنت تدخل التاريخ من مربعي نص اليك هذا الكود ولكن انتبه ضروري جملة try_Catch
كود :
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
       Try
           Dim dd As DateTime = (CDate(TextBox1.Text)).AddDays(27)
           TextBox2.Text = dd
       Catch ex As Exception
       End Try
   End Sub
ضع بدل الرقم 27 عدد الايام التي تريد وان اردت بالاشهر اكتب AddMonths
وعند الحفظ ستأخذ القيم
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
#3
(23-03-20, 11:00 AM)ابراهيم ايبو كتب : السلام عليكم اخي الكريم عاشق الرسول
اللهم صل على محمد وال محمد
اسعد الله صباحكم ووقاكم من كل شر
اخي الكريم اذا كنت تدخل التاريخ من اداتي DateTimePecke  اليك هذا الكود في الجدث التالي
كود :
Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
       DateTimePicker2.Value = DateTimePicker1.Value.AddDays(27)
   End Sub

واذا كنت تدخل التاريخ من مربعي نص اليك هذا الكود ولكن انتبه ضروري جملة try_Catch
كود :
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
       Try
           Dim dd As DateTime = (CDate(TextBox1.Text)).AddDays(27)
           TextBox2.Text = dd
       Catch ex As Exception
       End Try
   End Sub
ضع بدل الرقم 27 عدد الايام التي تريد وان اردت بالاشهر اكتب AddMonths
وعند الحفظ ستأخذ القيم

جزاك الله خيرا عل الرد ولكن أريد الكود للأداة داخل الداتا جريد (خليتين داخل الداتا جريد)
الرد }}}
تم الشكر بواسطة: asemshahen5 , سعود
#4
السلام عليكم احي الكريم
ان كنت ترغب بالتحريرداخل الداتا غرايد اليك هذا الكود في حذث RowValidated
يمكنك اختيار الحدث الموافق لطريقة الادخال لديك
كود :
Private Sub DataGridView1_RowValidated(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.RowValidated
       Try
           If DataGridView1.CurrentRow.Cells(2).Value.ToString().Trim() <> "" Then
               Dim DD As Date = (CDate(DataGridView1.CurrentRow.Cells(2).Value))
               DataGridView1.CurrentRow.Cells(3).Value = DD.AddDays(27).ToString("dd/MM/yyyy")
           End If
       Catch ex As Exception

       End Try
   End Sub
للتذكير العمود رقم 3 اندكس 2 فيه التاريخ    ... والعمود رقم 4 اندكس 3 تصبح القيمة فيه + 27 يوم غير حسب طلبك
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
#5
(23-03-20, 09:12 PM)ابراهيم ايبو كتب : السلام عليكم احي الكريم
ان كنت ترغب بالتحريرداخل الداتا غرايد اليك هذا الكود في حذث RowValidated
يمكنك اختيار الحدث الموافق لطريقة الادخال لديك
كود :
Private Sub DataGridView1_RowValidated(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.RowValidated
       Try
           If DataGridView1.CurrentRow.Cells(2).Value.ToString().Trim() <> "" Then
               Dim DD As Date = (CDate(DataGridView1.CurrentRow.Cells(2).Value))
               DataGridView1.CurrentRow.Cells(3).Value = DD.AddDays(27).ToString("dd/MM/yyyy")
           End If
       Catch ex As Exception

       End Try
   End Sub
للتذكير العمود رقم 3 اندكس 2 فيه التاريخ    ... والعمود رقم 4 اندكس 3 تصبح القيمة فيه + 27 يوم غير حسب طلبك

بارك الله لك وجزاك الله خيرا
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , asemshahen5
#6
الحمد لله والشكر لله
ربنا هيئ لنا من عبادك المخلصين من ينقذ خليقتك في الارض بايجاد عقار يدرؤ عنهم شر الكورونا
اللهم امين
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: asemshahen5 , baha
#7
اخي الحبيب
سؤال آخر لو أمكن هل من الممكن تحديد قيمة الثانية بناء على قيمة مختارة من خلية أخرى في الجريد
أن جربت هذا الكود ولكنه ما ظبط

      
كود :
Select Case (Test)

          ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
          Case 0
             If DGV_BILL.CurrentRow.Cells(6).Value = ("مادة").Trim() Then
                  ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
                  'تحديد قيمة دات تايم بناء عل أخرى في الجريد
                  Try
                      If DGV_BILL.CurrentRow.Cells(7).Value.ToString().Trim() <> "" Then
                          Dim DD As Date = (CDate(DGV_BILL.CurrentRow.Cells(7).Value))
                          DGV_BILL.CurrentRow.Cells(8).Value = DD.ToString("dd/MM/yyyy")
                      End If
                      DGV_BILL.CurrentRow.Cells(8).ReadOnly = True
                  Catch ex As Exception

                  End Try
              End If
          Case 1
              If DGV_BILL.CurrentRow.Cells(6).Value = ("شهري").Trim() Then
                  ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
                  'تحديد قيمة دات تايم بناء عل أخرى في الجريد
                  Try
                      If DGV_BILL.CurrentRow.Cells(7).Value.ToString().Trim() <> "" Then
                          Dim DD As Date = (CDate(DGV_BILL.CurrentRow.Cells(7).Value))
                          DGV_BILL.CurrentRow.Cells(8).Value = DD.AddDays(29).ToString("dd/MM/yyyy")
                      End If
                      DGV_BILL.CurrentRow.Cells(9).ReadOnly = True
                  Catch ex As Exception

                  End Try
              End If
      End Select
الرد }}}
تم الشكر بواسطة:
#8
السلام عليكم اخي عاشق الرسول
اريد لفت انتباهك الى ارقام الاعمدة استبدلها باسمائها ضمن دبل كوتيشن
تفضل هذا الكود سيكون التاريخ بناء على عمود رقم 6 ان كان مكتوب به (مادة - شهري) 
عندها اما ان يبقي التاريخ على حاله او يزيد بقدار الايام
كود :
Private Sub DataGridView1_RowValidated(sender As Object, e As DataGridViewCellEventArgs) Handles DGV_BILL.RowValidated
       Try
           '  التحقق من ان خانة المادة غير فارغة وكذلك خانة التاريخ غير فارغة
           If DGV_BILL.CurrentRow.Cells(6).Value.ToString().Trim() <> "" And DGV_BILL.CurrentRow.Cells(7).Value.ToString().Trim() <> "" Then

               'بناء عى الخلية رقم 6 ان كان مكتوب فيها مادة
               If DGV_BILL.CurrentRow.Cells(6).Value.ToString().Trim() = "مادة" Then
                   ' يبقى التاريخ على حاله
                   DGV_BILL.CurrentRow.Cells(8).Value = DGV_BILL.CurrentRow.Cells(7).Value.ToString()
                   DGV_BILL.CurrentRow.Cells(8).ReadOnly = True

                   'بناء عى الخلية رقم 6 ان كان مكتوب فيها شهري سيتم اعتماد زيادة التاريخ
               ElseIf DGV_BILL.CurrentRow.Cells(6).Value.ToString().Trim() = "شهري" Then
                   Dim DD As Date = (CDate(DGV_BILL.CurrentRow.Cells(7).Value))
                   DGV_BILL.CurrentRow.Cells(8).Value = DD.AddDays(29).ToString("dd/MM/yyyy")
                   DGV_BILL.CurrentRow.Cells(8).ReadOnly = True
               End If
           End If
       Catch ex As Exception

       End Try

   End Sub
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة:



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


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