使用VB.Net
当我单击gridview列时,所选列项应显示在日期时间选择器
中GridView Column值是字符串,datetime picker数据类型是datetime
代码
Private Sub gridview1_CellContentDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles gridview1.CellContentDoubleClick
Dim i As Integer
i = gridview1.CurrentRow.Index
Dim dt As String = gridview1.Item(1, i).Value
datetimepicker1.value = CDate(dt)
End Sub
当我点击gridview列时,它显示错误为“从字符串转换”25/09/2011“输入'日期'无效”
如何解决上述问题
需要VB.Net代码帮助....
答案 0 :(得分:2)
此问题与区域设置有关,因为CDATE()函数需要以下列格式提供日期值:MM / DD / YYYY(MM =月,DD =日,YYYY =年)。这意味着英国的代码失败,即DD / MM / YYYY。通过25/09/2011转换为:
如果您使用的值是一个字符串,则在将其传递给CDate()函数之前,您需要解析字符串值以提取正确的值:
Private Sub gridview1_CellContentDoubleClick(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) _
Handles holidaygrid.CellContentDoubleClick
textbox1.Text = DateTime.ParseExact( _
gridview1.Item(1, gridview1.CurrentRow.Index).Value, _
"dd/MM/yyyy", CultureInfo.InvariantCulture).ToString()
End Sub
答案 1 :(得分:1)
如果您事先知道预期的日期格式,请使用DateTime.ParseExact,例如:
datetimepicker1.Value = DateTime.ParseExact(dt, "dd/MM/yyyy", CultureInfo.InvariantCulture)