Remove time in DataGridView and when it is exported to PDF
Published: 2020-03-26 11:24:30

Please help me guys! I want the time in Date_Purchased(date) to be removed in datagridview. Because whenever I exported the datagrid in PDF, it has the date and time in it. I only want the date and remove the time especially when exported to PDf.

Here's the sample piece of code.

     Public Sub NewInventory()
        Dim NI as SqlCommand =con.CreateCommand
        NI.CommandText = "Insert into Items_table(Room_ID, PC_Number, Item_Name, Date_Purhased) VALUES (@Room_ID,@PC_Number, @Item_Name, @Date_Purchased);"

        NI.Parameters.AddWithValue("@Room_ID", Room_ID)
        NI.Parameters.AddWithValue("@PC_Number", PC_Number)
        NI.Parameters.AddWithValue("@Item_Name", Item_Name)
        NI.Parameters.AddWithValue("@Date_Purchased", DatePurchasedDTP.Value)

        NI.ExecuteNonQuery()
        MessageBox.Show("New item created.")
    End Sub

//for DataGridView

     Public Sub GetRoomItems(RoomID As String)
          Dim getItems As String = "Select Item_ID, PC_Number, 
      Item_Name, Date_Purchased WHERE Room_ID=" + RoomID
          Dim adapter As New SqlDataAdapter(getItems, connection)

          Dim table As New DataTable()
          adapter.Fill(table)
          InventoryDataGrid.DataSource = table
     End Sub

//For exporting to pdf

     Private Sub ExportButton_Click(sender As Object, e As  EventArgs) Handles ExportButton.Click
          connection.Close()
          connection.Open()

          Dim pdfTable As New PdfPTable(ReportDataGridView.ColumnCount)
          pdfTable.DefaultCell.Padding = 1
          pdfTable.WidthPercentage = 100
          pdfTable.DefaultCell.HorizontalAlignment = Element. ALIGN_CENTER

          Dim ptable As New  Font(iTextSharp.text.Font.FontFamily.HELVETICA, 11, iTextSharp.text.Font.BOLD, BaseColor.BLACK)

     For Each column As DataGridViewColumn in ReportDataGridView.Columns
          Dim cell as new PdfPCell(New Phrase(New Chunk(column.HeaderText, ptable)))
          cell.HorizontalAlignment = Element.ALIGN_CENTER
          cell.FixedHeight = 30
          pdfTable.AddCell(cell)

     Next

     For Each row as DataGridViewRow In ReportDataGridView.Rows
          For each cell as DataGridViewCell In row.Cells
          pdfTable.AddCell(cell.Value.ToString)
          Next
     Next

         Dim folderpath As String = "C:\PDFs\"
         If Not Directory.Exists(folderpath) Then
              Directory.CreateDirectory(folderpath)
         End If

     Using sfd as New SaveFileDialog()
         sfd.ShowDialog()
         sfd.OverWritePrompt = True
         sfd.Title =" Save As"
         sfd.AddExtension = True
         sfd.DefaultExt = ".pdf"

          Using stream As New FileStream(sfd.FileName & ".pdf",FileMode.Create)
          Dim pdfdoc As New Document (PageSize.LETTER, 36.0F, 36.0F,36.0F,36.0F)
          PdfWriter.GetInstance(pdfdoc.stream)
          pdfdoc.Open()
          pdfdoc.Add(pdfTable)
          pdfdoc.Close()
          stream.Close()
          If File.Exists("path") Then
               File.AppendAllText("path", "contents")
     End If
     pdfdoc.Close()
     stream.Close()
          End Using

     End Using
     End Sub


If you would ask me what's the data type of Date_Purchased, it is date. I used date not datetime. And still confused why the time is still in pdf whenever I exported it.

Please help me! Thank you so much

#sqlserver2017express,#VB.NET,#System,#Thesis