منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : سؤال عن تنسيق الارقام في داتا جريد فيو
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
عند استخدام الكيبورد لادخال رقم في داتا جريد فيو مثلا رقم مليون 1000000
اريده ان يظهر بهذا الشكل 1,000,000
اعرف ان هناك اكود كثيرة وطرق كثيرة لعمل ذلك ولكن جميع الاكواد التي اعرفها تنجح عند عرض بيانات في داتا جريد فيو 
ولا تنجح عند استخدام الكيبورد لادخال رقم
شكرا لكم
الطريقة التي اعرفها بعد مغادرة الخلية التي تحتوي على الرقم يتم نسخ الرقم الى متغير ثم يتم نسخ المتغير الى نفس الخلية هل هناك طريقة مختصرة اكثر

كود :
       Dim a As Integer

       a = DGV.Rows(DGV.CurrentRow.Index).Cells(DGV.CurrentCell.ColumnIndex).Value
       DGV.Columns(0).DefaultCellStyle.Format = "N0"
       DGV.Rows(DGV.CurrentRow.Index).Cells(DGV.CurrentCell.ColumnIndex).Value = a
هل هناك طريقة ثانية ...
(03-11-21, 01:53 PM)ابو انس كتب : [ -> ]السلام عليكم
عند استخدام الكيبورد لادخال رقم في داتا جريد فيو مثلا رقم مليون 1000000
اريده ان يظهر بهذا الشكل 1,000,000
اعرف ان هناك اكود كثيرة وطرق كثيرة لعمل ذلك ولكن جميع الاكواد التي اعرفها تنجح عند عرض بيانات في داتا جريد فيو 
ولا تنجح عند استخدام الكيبورد لادخال رقم
شكرا لكم
الطريقة التي اعرفها بعد مغادرة الخلية التي تحتوي على الرقم يتم نسخ الرقم الى متغير ثم يتم نسخ المتغير الى نفس الخلية هل هناك طريقة مختصرة اكثر

كود :
       Dim a As Integer

       a = DGV.Rows(DGV.CurrentRow.Index).Cells(DGV.CurrentCell.ColumnIndex).Value
       DGV.Columns(0).DefaultCellStyle.Format = "N0"
       DGV.Rows(DGV.CurrentRow.Index).Cells(DGV.CurrentCell.ColumnIndex).Value = a
هل هناك طريقة ثانية ...

انا بستخدم الحدث CellFormatting
كود :
Private Sub DataGridView1_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
    If e.ColumnIndex = 0 Then e.Value = Val(e.Value).ToString("N0")
End Sub
شكرا لك اشرف