تقييم الموضوع :
  • 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 صف فسوف يستغرق المستخدم وقت طويل جدا للإدخال تكون كتابة الصيغة أسهل يدويا من وجه نظرى
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] مشكلة في كتابة عربي مع انجليزي في نص واحد ali.alfoly 3 70 منذ 50 دقيقة مضت
آخر رد: ali.alfoly
  تحميل قيم اكبرid فى الداتا جريد فيو داخل تسكت بوكس araxis 1 46 أمس, 06:31 PM
آخر رد: ابراهيم النعيمي
  مشكلة كتابة نص في text box kofa 3 41 08-12-16, 09:24 PM
آخر رد: kofa
  [VB.NET] هل يمكن الاستغناء عن التايمر واستخدام شئ بديل يكون افضل ؟ !! الماجيك مسعد 7 107 08-12-16, 06:58 AM
آخر رد: silverlight
  [سؤال] تغير لون كتابة التيكست بوكس ؟ Mido9 5 2,389 30-11-16, 10:16 PM
آخر رد: omferas
  التعديل علي datagridview باستخدام sql command dark1459 6 143 21-11-16, 11:55 AM
آخر رد: dark1459
  [VB.NET] DataGridView بطيء جدا ساعدوني لاجد حل dubai.eig 4 145 20-11-16, 09:22 PM
آخر رد: ابو ليلى
  هل يمكن انشاء صفحة متصفح Mohamed20 2 133 20-11-16, 12:38 AM
آخر رد: myalsailamy
  اضافة عمود من نوع image ل bound datagridview noway 1 72 17-11-16, 12:08 PM
آخر رد: Genius Live
Photo [سؤال] لدي مشكله DataGridView أحمد العرب 4 141 16-11-16, 10:26 AM
آخر رد: أحمد العرب

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


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