السلام عليكم
هل يمكن ادخال البيانات في MsFlexGrid كما في اكسل بدون input box
ومثلا ان يكون العمود الثالث ناتج ضرب العمود الاول والثاني
السلام عليكم
هل يمكن ادخال البيانات في MsFlexGrid كما في اكسل بدون input box
ومثلا ان يكون العمود الثالث ناتج ضرب العمود الاول والثاني
السلام عليكم ورحمة الله..
بالتأكيد أخي ممكن ولكن يكون على عدة طرق...
يفضل البعض وجود تكتس بوكس او الكتابة مباشرة بأستخدام ايفينت زي كي بريس او كي داون.
ولكن قد صممت لك هذا الجزء ويحتاج الى تطوير ...اي انه غير كامل ... اشترك معنا في عمل برامج متكاملة وسوف نتطرق الى عمل شبيه بالفليكس ...
Option Explicit Dim strLastText As String Private Sub Form_Load() With MSFlexGrid1 .Rows = 10 .Cols = 4 .Col = 1 .Row = 1 .CellBackColor = vbYellow End With End Sub Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer) With MSFlexGrid1 Select Case KeyCode Case Is = vbKeyDelete .Text = vbNullString End Select End With End Sub Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer) With MSFlexGrid1 Select Case KeyAscii Case 38, 37, 39 '// Do nothing Those text are not good to be used in normal Useing of Database '// ignore it if you feel you can handle those ascii Case Is = 27 '// Esc pressed [undo changes] .Text = strLastText Case Is = 9 '// Tab pressed .Col = (.Col + 1) Mod .Cols If .Col = 0 Then .Col = 1 Case Is = 13 '// Enter key pressed .Row = (.Row + 1) Mod .Rows If .Row = 0 Then .Row = 1 Case Is = 8 '// Backspace pressed If Len(.Text) = 0 Then Exit Sub .Text = left(.Text, Len(.Text) - 1) Case Else '// Text chars Select Case .CellBackColor '// just for a better enhancement Case vbYellow '// Yellow back ground means Numbers ONLY If Chr(KeyAscii) >= "0" And Chr(KeyAscii) <= "9" Then .Text = .Text & Chr(KeyAscii) End If Case vbBlue '// Date data type// '// Todo Case vbWhite, 0 '// White or None means Alphanumaric text allowed .Text = .Text & Chr(KeyAscii) End Select End Select End With End Sub Private Sub MSFlexGrid1_RowColChange() '// Save the previous text.. for Undo Edit strLastText = MSFlexGrid1.Text End Sub Private Sub MSFlexGrid1_LeaveCell() DrawCellLostFocus End Sub Private Sub MSFlexGrid1_EnterCell() DrawCellGotFocus End Sub Private Sub DrawCellGotFocus() '// Todo for a better look [ Fill region with an opacity of whatever shaded color] '// Change the forcolor to Blue MSFlexGrid1.CellForeColor = vbBlue End Sub Private Sub DrawCellLostFocus() '// Todo for a better look [ Fill region with an opacity of whatever shaded color] '// Return the font color back to black MSFlexGrid1.CellForeColor = vbBlack End Sub
من سجن عكا وطلعــت جنـازة...
محمد جمجوم و فؤاد حجـازيجازي عليهم يا شعبــي جازي...المندوب السامي وربعه عموما
محمد جمجوم ومع عطا الزير...فؤاد حجـــــــــازي عز الذخيـره
الله يجزيك الخير اخي الكريم
ان شاء الله بشاركم
في بعض من التعقيد
انا سوف اطرح لك حل اسهل شوية
في ايفينت كي اب قم بعمل اب ديت للجدول المربوط مع الفليكس وتكون الفليكس خاصية الاضافة متاحة
اوكية لو مفهمتش حاجة ممكن اعمل لك مثال
Linux System Admin
في بعض من التعقيد
انا سوف اطرح لك حل اسهل شوية
في ايفينت كي اب قم بعمل اب ديت للجدول المربوط مع الفليكس وتكون الفليكس خاصية الاضافة متاحة
اوكية لو مفهمتش حاجة ممكن اعمل لك مثال
Linux System Admin
في بعض من التعقيد
انا سوف اطرح لك حل اسهل شوية
في ايفينت كي اب قم بعمل اب ديت للجدول المربوط مع الفليكس وتكون الفليكس خاصية الاضافة متاحة
اوكية لو مفهمتش حاجة ممكن اعمل لك مثال
Linux System Admin
هذا الموضوع مغلق.