将日期转换为字符串格式

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 的唯一方法是在每一行中添加另一个具有适当格式的字符串列。

您应该改为使用 DataGridViewColumnDefaultCellStyle:

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}" />