PDA

View Full Version : ديتا گريد ويو و مقدار عددي



sh2007
دوشنبه 07 دی 1388, 09:48 صبح
دوستان سلام
توي ديتا گريد يه ستوني هست كه كاربر در آن بايد كد وارد كند چكار كنم كه در آن ستون كاربر فقط بتواند مقدار عددي وارد كند
ممنون

DoDoklak
سه شنبه 08 دی 1388, 08:47 صبح
ابتدا دستور زیر رو در بالای فرم تعریف کنید


Friend WithEvents txt_dgv As New DataGridViewTextBoxEditingControl


سپش در رویداد EditingControlShowing مربوط به دیتا گرید دستور زیر را بنویسید


Private Sub DGV1_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlSho wingEventArgs) Handles DGV1.EditingControlShowing
txt_dgv = e.Control
End Sub

حالا شما میتونید مقدار سلولها رو بررسی کنید مانند خاصیت KeyDown ,KeyPress
به عنوان مثال اگر میخواهید ستون 1 رو کنترل کنید از دستور زیر استفاده کنید


Private Sub txt_dgv_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txt_dgv.KeyPress
If DGV1.CurrentCell.ColumnIndex = 1 Then
If Char.IsNumber(e.KeyChar) = False Then
e.Handled = True
End If
If e.KeyChar = (vbBack) Then
e.Handled = False
End If
If e.KeyChar = (vbTab) Then
e.Handled = False
End If
End If

sh2007
پنج شنبه 10 دی 1388, 07:41 صبح
با سلام
دوست من اگه يه كمبو باكس توي گريد باشه اين كد خطار مي دهد چطور اونو كنترل كنم



Private Sub Dgv_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlSho wingEventArgs) Handles Dgv.EditingControlShowing
txt_Dgv = e.Control
End Sub