Winform C#:如何将DataGridView日期无时间显示到TextBox
解决DataGridView日期值去除时间显示到TextBox的问题
问题根源:
dataGrid.Cells[2].Value的类型是object,object.ToString()没有接受格式字符串的重载,直接传格式参数自然会报错。必须先把它转换为DateTime类型,才能使用带格式参数的ToString方法。安全解决方案(带空值与格式校验):
if (dataGrid.Cells[2].Value != null && DateTime.TryParse(dataGrid.Cells[2].Value.ToString(), out DateTime dateValue)) { // 注意格式符是小写dd/MM/yyyy,大写DD/YYYY会被当作普通文本输出 txtDate.Text = dateValue.ToString("dd/MM/yyyy"); }简化方案(确认单元格值必为DateTime类型时使用):
if (dataGrid.Cells[2].Value != null) { DateTime date = (DateTime)dataGrid.Cells[2].Value; txtDate.Text = date.ToString("dd/MM/yyyy"); }
另外要注意:你之前用的"DD/MM/YYYY"是错误的格式符,标准DateTime格式中,两位日期用dd、四位年份用yyyy,大写的对应符号不属于有效占位符,会直接显示成文字,所以必须改成小写的正确格式符。
内容的提问来源于stack exchange,提问作者Chester Nguyen
相关产品推荐
相关产品推荐

