PDA

View Full Version : اضافه کردن سطر و ستون به دیتا گرید



mohammaduir
سه شنبه 28 خرداد 1398, 08:41 صبح
سلام من میخام یه دیتا گرید داشته باشم که کاربر بتونه هر چچقدر خواست توی سطرها و ستون هاش عدد وارد کنه. یعنی دیتا گریدم محدود به ستون خاصی نباشه. ضمن اینکه توی آخرین ستون هر ردیف هم جمع مقادیر اون ردیف رو برام بنویسههههههههههه
کمک میخااااااااااام واقعا توش موندم. مرسی

----------------------------------


مشکلم حل شدددد..
اما یه مشکل دیگه دارم و اون اینکه میخام توی دیتا گرید فقط اعداد 1 تا 5 رو بتونن وارد کنن. هیچ چیزی دیگه ای نمیخام وارد شد. نه حرف و نه عدد دیگه ای. باید چه کنم؟؟/

mmbguide
سه شنبه 28 خرداد 1398, 20:46 عصر
برای کنترل اطلاعات ورودی در مان فشردن کلید باید با رویدادهای KeyDown, KeyUp مربوط به اون کنترل کار کنید. البته کنترل گرید میتونه برمبنای CellEdit,... نیز این مدیریت رو انجام بده

mohammaduir
چهارشنبه 29 خرداد 1398, 11:43 صبح
برای کنترل اطلاعات ورودی در مان فشردن کلید باید با رویدادهای KeyDown, KeyUp مربوط به اون کنترل کار کنید. البته کنترل گرید میتونه برمبنای CellEdit,... نیز این مدیریت رو انجام بده


امکانش هست خط کدش رو بنویسید؟ ممنون میشم.

mmbguide
چهارشنبه 29 خرداد 1398, 21:13 عصر
ابتدا یک روال مشابه زیر بنویسید


Private Sub cell_KeyDown(sender As Object, e As KeyEventArgs)
If e.KeyCode = Keys.NumPad6 Then
MsgBox("Not Allowed")
e.SuppressKeyPress = True
End If
End Sub


حالا به رویداد EditingControlShowing برید و کد زیر را بنویسید


AddHandler e.Control.KeyDown, AddressOf cell_KeyDown


حالا شما در روالی که نوشتید میتونید بگید که اگر ستون شماره n بود این کارو انجام بده


If Me.DataGridView1.CurrentCell.ColumnIndex = 1 Then
If e.KeyCode = Keys.NumPad6 Then
MsgBox("Not Allowed")
e.SuppressKeyPress = True
End If
End If



الان در این مثال اگر شما در ستون اول شماه 6 رو تایپ کنید به شما اخطار میده و از ورود اون جلوگیری میکنه...