sh2007
چهارشنبه 28 دی 1390, 19:21 عصر
دوستان سلام
من با کدهای زیر اطلاعات در دیتاگرید رو ویرایش می کنم اما مشکل من فقط توی این زمینه است که با تاریخ مشکل دارم یعنی کارکتر / حالا دوستان این کدها رو ببینید اگه بهتر از این هم می تونید انجام بدید دریغ نفرمائید تا هم اینجانب و بقیه دوستان استفاده کنن
ممنونم
Friend WithEvents txt_Dgv As New DataGridViewTextBoxEditingControl
خطوط بعدی که مهم هستند
Private Sub DGVRiz_CellValidating(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellValidatingEve ntArgs) Handles DGVriz.CellValidating
If DGVriz.CurrentCell.ColumnIndex = 3 Then
If String.IsNullOrEmpty(e.FormattedValue.ToString()) Then
DGVriz.Rows(e.RowIndex).ErrorText = _
"تاریخ را وارد كنيد"
e.Cancel = True
Exit Sub
End If
End If
If DGVriz.CurrentCell.ColumnIndex = 4 Then
If String.IsNullOrEmpty(e.FormattedValue.ToString()) Then
DGVriz.Rows(e.RowIndex).ErrorText = _
"شرح را وارد كنيد"
e.Cancel = True
Exit Sub
End If
End If
If DGVriz.CurrentCell.ColumnIndex = 5 Then
If String.IsNullOrEmpty(e.FormattedValue.ToString()) Then
DGVriz.Rows(e.RowIndex).ErrorText = _
"مبلغ را وارد كنيد"
e.Cancel = True
Exit Sub
End If
End If
End Sub
این قسمت رو ببینید که کارکتر عددی بودن و غیره را کنترل می کند خصوصا ستون 3 رو که تاریخه باید چیکار کنم
Private Sub txt_Dgv_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txt_Dgv.KeyPress
Select DGVriz.CurrentCell.ColumnIndex
Case 3
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
Case 5
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 Select
End Sub
من با کدهای زیر اطلاعات در دیتاگرید رو ویرایش می کنم اما مشکل من فقط توی این زمینه است که با تاریخ مشکل دارم یعنی کارکتر / حالا دوستان این کدها رو ببینید اگه بهتر از این هم می تونید انجام بدید دریغ نفرمائید تا هم اینجانب و بقیه دوستان استفاده کنن
ممنونم
Friend WithEvents txt_Dgv As New DataGridViewTextBoxEditingControl
خطوط بعدی که مهم هستند
Private Sub DGVRiz_CellValidating(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellValidatingEve ntArgs) Handles DGVriz.CellValidating
If DGVriz.CurrentCell.ColumnIndex = 3 Then
If String.IsNullOrEmpty(e.FormattedValue.ToString()) Then
DGVriz.Rows(e.RowIndex).ErrorText = _
"تاریخ را وارد كنيد"
e.Cancel = True
Exit Sub
End If
End If
If DGVriz.CurrentCell.ColumnIndex = 4 Then
If String.IsNullOrEmpty(e.FormattedValue.ToString()) Then
DGVriz.Rows(e.RowIndex).ErrorText = _
"شرح را وارد كنيد"
e.Cancel = True
Exit Sub
End If
End If
If DGVriz.CurrentCell.ColumnIndex = 5 Then
If String.IsNullOrEmpty(e.FormattedValue.ToString()) Then
DGVriz.Rows(e.RowIndex).ErrorText = _
"مبلغ را وارد كنيد"
e.Cancel = True
Exit Sub
End If
End If
End Sub
این قسمت رو ببینید که کارکتر عددی بودن و غیره را کنترل می کند خصوصا ستون 3 رو که تاریخه باید چیکار کنم
Private Sub txt_Dgv_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txt_Dgv.KeyPress
Select DGVriz.CurrentCell.ColumnIndex
Case 3
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
Case 5
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 Select
End Sub