0
私はdatagridview(DataGridViewsalarydetail)を持っています。Visual Basicでdatagridviewにdatetimepickerを追加するには?
- 式(唯一の番号とアルファベットを受け入れる)、
- 効力発生日(日付のみの例を受け入れる:14/09/2016)、
- 基本速度(のみ受け入れ数とドット[これは、3つの列を持っています。]をダブル)。
問題は、データグリッドビューに日付時間ピッカーを配置する方法、または日付列を有効な日付のみを受け入れるように設定する方法です。私は、Visual Basicのエクスプレス2015使用してい
、MySQLの、phpMyAdminは、とVB.NET
私はMSDNのサイトからコードを試してみましたが、私は私のプロジェクトで実装する方法がわかりません。
Private Sub DataGridViewsalarydetail_EditingControlShowing(sender As Object, e As DataGridViewEditingControlShowingEventArgs) Handles DataGridViewsalarydetail.EditingControlShowing
If TypeOf e.Control Is TextBox Then
DirectCast(e.Control, TextBox).CharacterCasing = CharacterCasing.Upper
End If
If DataGridViewsalarydetail.CurrentCell.ColumnIndex = 0 Then
AddHandler CType(e.Control, TextBox).KeyPress, AddressOf TextBox_keyPress
ElseIf DataGridViewsalarydetail.CurrentCell.ColumnIndex = 1 Then
AddHandler CType(e.Control, TextBox).KeyPress, AddressOf TextBox_keyPress2
ElseIf DataGridViewsalarydetail.CurrentCell.ColumnIndex = 2 Then
AddHandler CType(e.Control, TextBox).KeyPress, AddressOf TextBox_keyPress1
End If
End Sub
Private Sub TextBox_keyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs)
'If Char.IsDigit(CChar(CStr(e.KeyChar))) = False Then e.Handled = True
End Sub
Private Sub TextBox_keyPress1(ByVal sender As Object, ByVal e As KeyPressEventArgs)
'If Not (Char.IsDigit(CChar(CStr(e.KeyChar))) Or e.KeyChar = ".") Then e.Handled = True
e.Handled = True
If e.KeyChar Like "." Or e.KeyChar = Chr(&H8) Or IsNumeric(e.KeyChar) Then
e.Handled = False
End If
End Sub
Private Sub TextBox_keyPress2(ByVal sender As Object, ByVal e As KeyPressEventArgs)
If Not (Char.IsDigit(CChar(CStr(e.KeyChar))) Or e.KeyChar = "/") Then e.Handled = True
'e.Handled = True
'If e.KeyChar Like "." Or e.KeyChar Like "/" Or e.KeyChar = Chr(&H8) Or IsNumeric(e.KeyChar) Then
' e.Handled = False
'End If
End Sub
Private Sub DataGridViewsalarydetail_CellValidating(sender As Object, e As DataGridViewCellValidatingEventArgs) Handles DataGridViewsalarydetail.CellValidating
If e.ColumnIndex = 1 Then
Dim dt As DateTime
If e.FormattedValue.ToString <> String.Empty AndAlso Not DateTime.TryParse(e.FormattedValue.ToString, dt) Then
MessageBox.Show("Enter correct Date")
'Me.DataGridViewsalarydetail.Rows(e.RowIndex).ErrorText = "Enter a valid Date time"
e.Cancel = True
End If
End If
End Sub
私はそのコードを試しました。それは私にエラーを与える。私はコードを実装することができますか? –
あなたの質問を編集し、DataGridviewのコードを表示してください – nbadaud
申し訳ありません、私はVBコードで新しいです。だから、私はあなたのコードを実行するために追加する必要がありますか?もう1つ、私はdatagridviewに新しいdatagridviewを作成せずに日付時刻ピッカーを置くことができますか?私はちょうど既存のclolumnに入れていることを意味します。 –