(18-09-19, 02:49 AM)ابراهيم ايبو كتب : السلام عليكم اخي الكريم
الجواب متوقف غلى الاجابة على السؤال التالي
هل تستخدم اداة DateTimePicker في ادخال التاريخ الى قاعدة البيانات؟
اذا كان كذلك فإن هذه الاداة تعطيك قيمتين في الادخال
1- اذا اخذت منها DateTimePicker.value فإنها ستدخل التاريخ والوقت وسيتم العرض التاريخ والوقت
حتى ولو قمت باختيار Short او CustomFormat
2 - اما إذا اخذت منها DateTimePicker.Text فستدخل ماهو ظاهر في هذه الاداة فلو كان التاريخ Short ستدخل short وتظهره كذلك
او كان Long ستدخل Long وتظهره ايضا او لو كان Custom ستدخل وتظهر custom
اي انك مثل ماتحفظ تظهر ايضا..... والسجلات التي ادخلت سابقا يجب تعديلها لانها حفظت تاريخ ووقت
اما ان كنت تدخل التاريح من مربع نص فاجعله مثلا
TextBox1.Text = Now.ToString("dd/MM/yyyy")
بعد الشكر والامتنان أخي ابراهيم
أنا بالفعل استخدم الأداة datetimepicker في ادخال التاريخ و بتنسيق short date format
كما ان البيانات في قاعدة البيانات sql server هي من نوع datetime
أقوم باستخدم التنسيق datetimepicker.value.toshordatestirng اثناء ادخال البيانات
وقد وضعت خلايا التاريخ في الـ datagridview على الخاصية format short date
لقد استبدلت حتى المتغيرات التي ادخل عن طريقها البيانات من datetime إلى date فقط وكذلك البيانات في قاعدة البيانات sqlserver إلى date بدلا من datetime فظهرت البيانات في قاعدة الـ sqlserver بالتنسيقط short date بالفعل بعدما كانت تظهر مع الوقت ولكنها استمرت رغم ذلك بالظهور مع الوقت في الـ datagirdview ، الأمر المحير لأنها تظهر البيانات المخزنة في قاعدة البيانات sqlserver أصلا.
لم أستطع أن اصل إلى نتيجة إلى الآن
مع الشكر الجزيل
(18-09-19, 02:02 AM)اسامه الهرماوي كتب : حل أخر:
الأفضل تعديل datetimepicker المضافة منها التاريخ(الي القاعدة المستدعي منها البيانات)من خاصية format الي custom او اذا كنت تستخدم الخلية ك(text) اما اذا كانت تاريخ فقم بتعديل الحقل الي(date/time) وخاصية short date.
مع شكر الجزيل أخي اسامة
لقد فعلت ولكني لم استفد
(17-09-19, 11:38 PM)عبد العزيز البسكري كتب : جرّب هذه الطريقة يمكن تفيد إن شاء الله
كود :
Private Sub DGV_STUDENT_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs) Handles DGV_STUDENT.CellFormatting
' الطريقة الأولى
'If e.ColumnIndex = 8 Then
' Try
' If e.RowIndex = DGV_STUDENT.Rows.Count - 1 Then
' Exit Sub
' End If
' e.Value = CDate(e.Value)
' e.CellStyle.Format = "yyyy-MM-dd"
' Catch ex As Exception
' End Try
'End If
'الطريقة الثانية
If e.ColumnIndex = 8 Then
e.Value = CDate(e.Value).ToString("yyyy-MM-dd")
End If
End Sub
مشكور أخي عبد العزيز