将日期转换为字符串格式
Convert date to string format
我已成功将数据从 xls 导入到 dataGridView。
dataGridView 中的日期列显示 DateTime 格式。我希望此日期列以 "dd MMM yyyy" 格式显示。我试过如下所示:
connExcel.Open()
Dim dtExcelSchema As DataTable
dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
Dim SheetName As String = dtExcelSchema.Rows(0)("TABLE_NAME").ToString()
connExcel.Close()
'Read Data from First Sheet
connExcel.Open()
cmdExcel.CommandText = "SELECT * From [" & SheetName & "]"
oda.SelectCommand = cmdExcel
oda.Fill(dt)
connExcel.Close()
dt.Columns(1).ToString("dd MMM yyyy")
'Bind Data to GridView
InvestorGridView.Caption = Path.GetFileName(FilePath)
InvestorGridView.DataSource = dt
InvestorGridView.DataBind()
但它给我一个错误:
Error 1 Overload resolution failed because no accessible 'ToString' accepts this number of arguments. D:\TMV\TMV\Project\Investor\Investor\Investor.aspx.vb 68 9 Investor
谢谢
您的方法不起作用,因为您在 DataColumn
上使用 ToString
,而 DataColumn
没有像 DateTime
这样的重载。无论如何那是行不通的。 DataTable
的唯一方法是在每一行中添加另一个具有适当格式的字符串列。
您应该改为使用 DataGridViewColumn
的 DefaultCellStyle
:
InvestorGridView.Columns(1).DefaultCellStyle.Format = "dd MMM yyyy"
更新 如果它是网络表单并且是 BoundField
您可以使用 DataFormatString
-property:
<asp:BoundField DataField="DateColumn"
HeaderText="DateColumn-Name"
SortExpression="DateColumn"
DataFormatString="{0:dd MMM yyyy}" />
我已成功将数据从 xls 导入到 dataGridView。 dataGridView 中的日期列显示 DateTime 格式。我希望此日期列以 "dd MMM yyyy" 格式显示。我试过如下所示:
connExcel.Open()
Dim dtExcelSchema As DataTable
dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
Dim SheetName As String = dtExcelSchema.Rows(0)("TABLE_NAME").ToString()
connExcel.Close()
'Read Data from First Sheet
connExcel.Open()
cmdExcel.CommandText = "SELECT * From [" & SheetName & "]"
oda.SelectCommand = cmdExcel
oda.Fill(dt)
connExcel.Close()
dt.Columns(1).ToString("dd MMM yyyy")
'Bind Data to GridView
InvestorGridView.Caption = Path.GetFileName(FilePath)
InvestorGridView.DataSource = dt
InvestorGridView.DataBind()
但它给我一个错误:
Error 1 Overload resolution failed because no accessible 'ToString' accepts this number of arguments. D:\TMV\TMV\Project\Investor\Investor\Investor.aspx.vb 68 9 Investor
谢谢
您的方法不起作用,因为您在 DataColumn
上使用 ToString
,而 DataColumn
没有像 DateTime
这样的重载。无论如何那是行不通的。 DataTable
的唯一方法是在每一行中添加另一个具有适当格式的字符串列。
您应该改为使用 DataGridViewColumn
的 DefaultCellStyle
:
InvestorGridView.Columns(1).DefaultCellStyle.Format = "dd MMM yyyy"
更新 如果它是网络表单并且是 BoundField
您可以使用 DataFormatString
-property:
<asp:BoundField DataField="DateColumn"
HeaderText="DateColumn-Name"
SortExpression="DateColumn"
DataFormatString="{0:dd MMM yyyy}" />