Hi
Im making a page that can get some info from a DB from a gridview and then print it to a PDF file.
But im having problems with the background color.
If i use this line of code
Then i get this errorCode:cell.BackgroundColor = New Color(System.Drawing.ColorTranslator.FromHtml("#008000"))
System.Drawing.Color' has no constructors
If i changes it to this code
Then i get this errorCode:cell.BackgroundColor = System.Drawing.ColorTranslator.FromHtml("#008000")
Value of type 'System.Drawing.Color' cannot be converted to 'iTextSharp.text.BaseColor'.
Hope someone can guide/help me. and sry my english.
My code is: (the error is underline)
Code:Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim cmd As New OleDbCommand() Dim myAdapter As New OleDbDataAdapter() Dim myDataSet As New DataSet() cmd.CommandType = CommandType.Text cmd.CommandText = "select CustomerID,City,Country from customers" cmd.Connection = myAccessConnection myAdapter.SelectCommand = cmd Try myAccessConnection.Open() myAdapter.Fill(myDataSet) GridView1.EmptyDataText = "No Records Found" GridView1.DataSource = myDataSet GridView1.DataBind() Catch ex As Exception Throw ex Finally myAccessConnection.Close() myAccessConnection.Dispose() End Try End Sub Protected Sub btnExportPDF_Click(ByVal sender As Object, ByVal e As EventArgs) GridView1.AllowPaging = Convert.ToBoolean(rbPaging.SelectedItem.Value) GridView1.DataBind() 'Create a table Dim table As New PdfPTable(GridView1.Columns.Count) table.AddCell("textstring") Dim celladd As PdfPCell = table.DefaultCell celladd.Padding = 5 'Set the column widths Dim widths As Integer() = New Integer(GridView1.Columns.Count - 1) {} For x As Integer = 0 To GridView1.Columns.Count - 1 widths(x) = CInt(GridView1.Columns(x).ItemStyle.Width.Value) Dim cellText As String = Server.HtmlDecode(GridView1.HeaderRow.Cells(x).Text) Dim cell As PdfPCell = New PdfPCell(New Phrase(cellText)) cell.BackgroundColor = New Color(System.Drawing.ColorTranslator.FromHtml("#008000")) table.AddCell(cell) Next table.SetWidths(widths) 'Transfer rows from GridView to table For i As Integer = 0 To GridView1.Rows.Count - 1 If GridView1.Rows(i).RowType = DataControlRowType.DataRow Then For j As Integer = 0 To GridView1.Columns.Count - 1 Dim cellText As String = Server.HtmlDecode(GridView1.Rows(i).Cells(j).Text) Dim cell As PdfPCell = New PdfPCell(New Phrase(cellText)) 'Set Color of Alternating row If i Mod 2 <> 0 Then cell.BackgroundColor = New Color(System.Drawing.ColorTranslator.FromHtml("#C2D69B")) End If table.AddCell(cell) Next End If Next 'Create the PDF Document Dim pdfDoc As New Document(PageSize.A4, 10.0F, 10.0F, 10.0F, 0.0F) PdfWriter.GetInstance(pdfDoc, Response.OutputStream) pdfDoc.Open() pdfDoc.Add(table) pdfDoc.Close() Response.ContentType = "application/pdf" Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.pdf") Response.Cache.SetCacheability(HttpCacheability.NoCache) Response.Write(pdfDoc) Response.End() End Sub Public Overloads Overrides Sub VerifyRenderingInServerForm(ByVal control As Control) ' Verifies that the control is rendered End Sub Protected Sub OnPaging(ByVal sender As Object, ByVal e As GridViewPageEventArgs) GridView1.PageIndex = e.NewPageIndex GridView1.DataBind() End Sub


LinkBack URL
About LinkBacks




Reply With Quote




Bookmarks