Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何将datagridview列设置为日期格式_Vb.net_Datagridview - Fatal编程技术网

Vb.net 如何将datagridview列设置为日期格式

Vb.net 如何将datagridview列设置为日期格式,vb.net,datagridview,Vb.net,Datagridview,我创建了DataGridView,并向其中添加了如下列: Dim col_1 = New DataGridViewTextBoxColumn col_1.Name = "Date" col_1.DefaultCellStyle.Format = "MM/dd/yyyy" data_grid.Columns.Add(col_1) data_grid.Item(1,1).Value = temp_date 然后我向列中添加如下数据: Dim col_1 = New DataGridViewTe

我创建了DataGridView,并向其中添加了如下列:

Dim col_1 = New DataGridViewTextBoxColumn
col_1.Name = "Date"
col_1.DefaultCellStyle.Format = "MM/dd/yyyy"
data_grid.Columns.Add(col_1)
data_grid.Item(1,1).Value = temp_date 
然后我向列中添加如下数据:

Dim col_1 = New DataGridViewTextBoxColumn
col_1.Name = "Date"
col_1.DefaultCellStyle.Format = "MM/dd/yyyy"
data_grid.Columns.Add(col_1)
data_grid.Item(1,1).Value = temp_date 
网格中填充了正确的数据,但一切正常……当我单击列标题时,显示日期的列排序不正确(按字母顺序排序),我知道这是因为我将其设置为“DataGridViewTextBoxColumn”,但没有日期类型列的选项。那么,如何将其设置为日期列,以便根据单击标题时的日期进行排序


谢谢。

您还应该设置列的
ValueType

DataGridView1.Columns(0).ValueType = GetType(Date)
然后将
date\u temp
转换为日期值,然后再将其分配给单元格的值

使用
CDate
可能是您的第一次尝试:

data_grid.Item(1,1).Value = CDate(temp_date)

否则,调查
Parse
TryParse
Convert
,以获得日期值。

温度日期的数据类型是什么?它是一个字符串吗?是的,temp_date的数据类型是string。好的,我这样做了,现在它似乎是基于日期排序的,但它是先按天排序,然后按年排序,月份似乎被忽略了。我将格式设置为MM/dd/yyyy。现在,当我点击标题(DESC)时,它将对7月30日到1日进行排序,然后对8月31日到1日进行排序。如果是Desc,那么月份也应该下降。我如何发布一个屏幕截图来向您展示我的意思?我会调查以获得与您应用的格式相匹配的日期。它现在正在工作。将DateTime的数据类型分配给temp_date变量就是这样做的,但是设置ValueType可能也会起作用。我没有注意到岁月流逝。它现在正在正确排序。谢谢