تقييم الموضوع :
  • 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 يونس 4 62 أمس, 06:50 PM
آخر رد: يونس
Photo [VB.NET] تمرير القيمة من مربع نص وجمعها مع القيمة الاولى في DataGridView يونس 0 36 أمس, 05:15 PM
آخر رد: يونس
  كمبو بوكس داخل الداتا جريد فارس احمد السيد 4 85 أمس, 12:16 AM
آخر رد: مساعدة
  كيفية عرض البيانات فى DataGridView فى وضع CrossTab noway 1 58 21-02-17, 09:03 PM
آخر رد: noway
Wink [VB.NET] استفسار بخصوص التعديل والحفظ علي اداة datagridview dark1459 9 108 20-02-17, 02:13 AM
آخر رد: khodor1985
  حساب الوقت التقديري للانتهاء Mohamed20 1 56 13-02-17, 09:55 PM
آخر رد: Mohamed20
  مشكلة صغيرة فى كتابة item الى xml Mohamed20 2 84 11-02-17, 01:27 AM
آخر رد: Mohamed20
  منع المستخدم من التعديل على أكثر من معلومة في نفس الوقت اليوم مبتدئة وغداً محترفة 5 101 07-02-17, 08:35 PM
آخر رد: Amir_alzubidy
  [VB.NET] مشكلة مع datagridview لا تعرض السجلات الجديدة الا بعد اقفال البرنامج darklibya88 3 129 01-02-17, 04:01 PM
آخر رد: جابر
  [سؤال] استفسار داخل List box عبدالرحمن المكاوي 10 165 31-01-17, 05:32 PM
آخر رد: عبدالرحمن المكاوي

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


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