تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيف يمكن كتابة الوقت داخل datagridview
#1
السلام عليكم
كيف يمكن وضع تنسيق معين داخل datagridview
مثال
عندى datagridview بها عمود أريد عند كتابة المستخدم مثلا رقم 12 يكون التنسيق 12:00:00
وإذا كتب 1 يكون التنسيق 1:00:00
وهو عبارة عن وقت

شكرا جزيلا
الرد }}}}
تم الشكر بواسطة:
#2
السلام عليكم ورحمة الله وبركاته

يتم ذلك في حدث CellFormatting التابع لأداة الـ Datagridview :

كود :
Private Sub DataGridView1_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting        Try
            If e.ColumnIndex = 1 Then ' نتحقق من أن العمود الذي يتم تحريره هو العمود المطلوب
                If e.Value IsNot Nothing Then
                    If e.Value.ToString.Contains(":") = False Then
                        Dim val As String = e.Value
                        val = val & ":0"
                        e.Value = val
                    End If
                    Dim d As DateTime = DateTime.Parse(e.Value.ToString)
                    Dim time As String = d.ToString("hh:mm:ss")
                    e.Value = time
                    e.FormattingApplied = True
                End If
            End If
        Catch ex As Exception
            e.FormattingApplied = False
        End Try
    End Sub

قد توجد طرق أخرى مختصرة الأكواد فقط ابحث بالإنترنت .

****
***
**
*
(وَقُل رَّبِّ زِدْنِي عِلْمًا)

الرد }}}}
تم الشكر بواسطة:
#3
مشكور أخى الكريم
الرد }}}}
تم الشكر بواسطة:
#4
ولكن هناك مشكلة عند كتابة 1230 سيكون الناتج 1230:00 ومن المفترض ان يكون 12:30:00
الرد }}}}
تم الشكر بواسطة:
#5
هل هناك حل ؟؟؟
الرد }}}}
تم الشكر بواسطة:
#6
هل هناك حل ؟؟؟
الرد }}}}
تم الشكر بواسطة:
#7
matrixmas كتب :ولكن هناك مشكلة عند كتابة 1230 سيكون الناتج 1230:00 ومن المفترض ان يكون 12:30:00

هل يوجد حل لهذة المشكلة ؟؟
ارجو مساعتى
الرد }}}}
تم الشكر بواسطة:
#8
ارجو من الاخوة مساعدتى
الرد }}}}
تم الشكر بواسطة:
#9
السلام عليكم ،، ممكن مداخلتي ما تكون مفيده بتلك الدرجه و لكن حبيت انوه ،،،

في بعض الاحيان نواجه مشكله بخصوص شيء معين مثلا الوقت الذي تتكلم عنه ،، فسيكون حله باحدى الطريقتين ::

1) أن تتأكد من المدخلات ، اي من اين مصدر الوقت ،، و بذلك تجبر المستخدم على حفظ الوقت بالصيغه التي تريدها و بهذه انحلت مشكله ،، و عند استدعائها ستظهر بالشكل الذي تريده .

2) الحل الثاني : -و بالعاميه أعتبره حل ترقيع لان الحل يكمن بشكل صحيح فالنقطه الاولى و هو المثالي ، لان المدخلات الصحيحه يعني مخرجات سليمه - في حالة نص الوقت دائما اربع خانات من الممكن انت تستخدم دالة اقتصاص النص mid و تقتص اول رقمين من النص و تقتص اخر رقمين و تضع بينهما علامة نقطتين راسيه ،، و بكذا انحلت المشكله ،،

ملاحظه : اذا كان غير هذا فاذكر الحالات التي يمكن ظهور الوقت بها او حتى على الاقل مصدرها فمثلا اذا كانت ثلاث خانات سوف تتورط بدون مخرج كمثال 113،، ممكن تكون 11:3 او 1:13 و بذلك ادخلت نفسك بخوارزميات لا نهايه لها ،، لذلك تبقى الخطوه الأولى هي الاصح ،، و بذلك يترك لك خيار استخدام الأداة DateTimePicker و تغيير خاصية format الى custom و ثم تغير الخاصية customformat الى "hh:mm tt" و تغير الخاصية showUpDown الى true و تضع بجانبه زر عند الضغط على حفظ يضيفها الى الخلية المحدده في dataGraidview و بذلك تلاشيت الاستخدام الخاطئ للمستخدم ، .

تقبل ودي و احترامي
الرد }}}}
تم الشكر بواسطة:
#10
السكر المغرور كتب :السلام عليكم ،، ممكن مداخلتي ما تكون مفيده بتلك الدرجه و لكن حبيت انوه ،،،

في بعض الاحيان نواجه مشكله بخصوص شيء معين مثلا الوقت الذي تتكلم عنه ،، فسيكون حله باحدى الطريقتين ::

1) أن تتأكد من المدخلات ، اي من اين مصدر الوقت ،، و بذلك تجبر المستخدم على حفظ الوقت بالصيغه التي تريدها و بهذه انحلت مشكله ،، و عند استدعائها ستظهر بالشكل الذي تريده .

2) الحل الثاني : -و بالعاميه أعتبره حل ترقيع لان الحل يكمن بشكل صحيح فالنقطه الاولى و هو المثالي ، لان المدخلات الصحيحه يعني مخرجات سليمه - في حالة نص الوقت دائما اربع خانات من الممكن انت تستخدم دالة اقتصاص النص mid و تقتص اول رقمين من النص و تقتص اخر رقمين و تضع بينهما علامة نقطتين راسيه ،، و بكذا انحلت المشكله ،،

ملاحظه : اذا كان غير هذا فاذكر الحالات التي يمكن ظهور الوقت بها او حتى على الاقل مصدرها فمثلا اذا كانت ثلاث خانات سوف تتورط بدون مخرج كمثال 113،، ممكن تكون 11:3 او 1:13 و بذلك ادخلت نفسك بخوارزميات لا نهايه لها ،، لذلك تبقى الخطوه الأولى هي الاصح ،، و بذلك يترك لك خيار استخدام الأداة DateTimePicker و تغيير خاصية format الى custom و ثم تغير الخاصية customformat الى "hh:mm tt" و تغير الخاصية showUpDown الى true و تضع بجانبه زر عند الضغط على حفظ يضيفها الى الخلية المحدده في dataGraidview و بذلك تلاشيت الاستخدام الخاطئ للمستخدم ، .

تقبل ودي و احترامي

أخى الكريم شكرا جزيلا على مداخلتك
أفضل حل هو وضع أداة ال DateTimePicker ولكن فى حالة ان الداتا غريد تحتوى على أكثر من 100 صف فسوف يستغرق المستخدم وقت طويل جدا للإدخال تكون كتابة الصيغة أسهل يدويا من وجه نظرى
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] سؤال حول DataGridView dubai.eig 1 21 منذ 7 ساعة مضت
آخر رد: Amir_alzubidy
  كيفية عمل تضبيط الفلتر من داخل فلتر اخر khaled12345 4 57 أمس, 04:50 AM
آخر رد: khaled12345
  كيف يمكن ان اعمل هذا rabeh.ram 5 132 24-05-17, 12:36 PM
آخر رد: rabeh.ram
  البحث او الفلتر باكثر من اسم من داخل عمود Name khaled12345 2 68 21-05-17, 08:18 AM
آخر رد: khaled12345
  datagridview سيف القاضي 5 114 20-05-17, 03:02 PM
آخر رد: Amir_alzubidy
  كيف يمكن عمل هذا الاستخراج rabeh.ram 2 55 19-05-17, 04:31 PM
آخر رد: rabeh.ram
  [VB.NET] اريد وضع مؤقت بدون تايمر داخل هذا الكود + المشروع بالكامل e-coder 0 52 19-05-17, 04:09 PM
آخر رد: e-coder
  [VB.NET] حل مشكلة الارقام في الاداة DataGridview أبو نقطة 2 58 19-05-17, 12:10 PM
آخر رد: alma2
  كيف يمكن برمجة هذا rabeh.ram 2 85 08-05-17, 03:13 PM
آخر رد: rabeh.ram
  [VB.NET] ترتيب الوقت من 6 خانات dubai.eig 3 104 07-05-17, 01:22 AM
آخر رد: dubai.eig

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


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