چگونه می توان در flexgrid در حین درج اعداد در آنها ، بصورت سه رقمی جدا کند
چگونه می توان در flexgrid در حین درج اعداد در آنها ، بصورت سه رقمی جدا کند
سلام دوست عزیز.نقل قول:
می تونی توی رویداد key down مربوط به flex grid هر دفعه طول رشته رو چک کنی که اگه بر 3 بخش پذیر بود اول یه کاما به ته رشته اضافه کنه بعد کاراکتر بعدی رو.
نقل قول:
دوست عزیز اگر بتونی با تمام دستورات برایم بفرستی خیلی خیلی ممنون میشم
دوست عزیز اگر بتونی با تمام دستورات برایم بفرستی خیلی خیلی ممنون میشم
فقط یه سوال. این اعداد رو به چه صورت می خواید وارد کنید. مثلا روی یه خونه کلیک بشه و داخلش عدد رو وارد کنید یا جور دیگه ای منظورتونه؟
سلام دوست عزیز.
برنامشو براتون نوشتم. حالا دیگه نمیدونم منظورتون این بوده یا نه. تو این برنامه باید یه خونه از flexGrid رو انتخاب وعددتونو توش تایپ کنید.البته این یه sample هست. اگه جایی مشکل داشت بگید درستش کنم. دریافت کردن اعداد رو میتونید با یه textBox هم انجام بدید.
کد:Dim row As Long
Dim col As Long
Dim tool As Long
Dim k as long
Dim char as string
'-----------------------------------------------
Private Sub MSFlexGrid1_Click()
row = MSFlexGrid1.RowSel
col = MSFlexGrid1.ColSel
End Sub
'-----------------------------------------------
Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
k = 0
tool = Len(MSFlexGrid1.TextMatrix(row, col))
For i = 1 To tool
Char = Mid(MSFlexGrid1.TextMatrix(row, col), i, 1)
If Char = "," Then
k = k + 1
End If
Next
If tool = 3 And tool > 0 Then
MSFlexGrid1.TextMatrix(row, col) = MSFlexGrid1.TextMatrix(row, col) + ","
MSFlexGrid1.TextMatrix(row, col) = MSFlexGrid1.TextMatrix(row, col) + Chr(KeyCode)
Exit Sub
End If
If (tool - k) Mod 3 = 0 And tool > 0 Then
MSFlexGrid1.TextMatrix(row, col) = MSFlexGrid1.TextMatrix(row, col) + ","
End If
MSFlexGrid1.TextMatrix(row, col) = MSFlexGrid1.TextMatrix(row, col) + Chr(KeyCode)
End Sub
عزیزجان . اگر این را اجرا کنی به منظورم پی می بری
Private Sub Text1_Change()
If Text1.Text <> "" Then
(" Text1.Text = Format(Text1.Text, "##,0
(Text1.SelStart = Len(Text1.Text
End If
End Sub
عدد را مستقیم در یکی از سلولهای 7 vsflexgrid وارد کرد و در حین درج اعداد همزمان، در همان سلول بصورت سه رقم سه رقم جدا کند
عزیز این کدی که فرستادم همین کارو انجام میده . همون لحظه که عدد رو وارد می کنید 3 رقم 3رقم جدا میکنه.نقل قول:
مشکل چیه؟
سلام.
اینم یه sample دیگه که با استفاده از Msflexgrid نوشته شده که مثل textBox میتونید داخلش تایپ کنید و در حین درج عدد 3 رقم 3 رقم جدا می کنه. فقط کافیه برای edit کردن هر خونه روی اون Double Click کنید و برای ثبت تغییرات Enter رو بزنید.
لینک:
کد:http://ermia2008.persiangig.com/DirectEnteringText.rar