System.NullReferenceExpection:Object reference not set to an instance of an object [error]
                            
                         
                        
                     
                 
                
                    Im building the Form Application which seach the data from the databse and list them in the Datagrid table. But im stack with this error" System.NullReferenceExpection:Object reference not set to an instance of an object. at btnGenerateRepDate_Click"
Here is the source code of the button click:
 
private void btnGenerateRepDate_Click(object sender, EventArgs e)
        {
            if (reportPageInfo == null)
            {
                return;
            }
            int tries = 0;
            while (tries < 10)
            {
                string fileName = appDataDir + "\\ReportDateByRange" + tries.ToString() + ".PDF";
                reportPageInfo.savePath = fileName;
                try
                {
                    pdfWriter.createPDF(reportPageInfo);
                    ++tries;
                    System.Diagnostics.Process.Start(fileName);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
            }
            MessageBox.Show("Unable to open pdf for reading\nTry closing some open reports or try saving the pdf first", "Error", MessageBoxButtons.OK);
        }
And here is the source code of the WritePDF function
 class PDFWriter
    {
        public bool createPDF(ReportInfo pageInfo)
        {
            try
            {
                DataTable table = pageInfo.table;
                string savePath = pageInfo.savePath;
                string title = pageInfo.title;
                float[] headerWiths = pageInfo.headerWidths;
                //create document object
                Document document = new Document(PageSize.A4.Rotate(), 10, 10, 10, 40);
                try
                {
                    //create the writer from document
                    PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(savePath, FileMode.Create));
                    MyPageEvents events = new MyPageEvents(title);
                    writer.PageEvent = events;
                    //open the document
                    document.Open();
                    // add the content to the document
                    WritePdf(writer, document, table, headerWiths, title, pageInfo.highLightRows, pageInfo.columnAlignment);
                }
                catch (Exception e1)
                {
                    MessageBox.Show(e1.ToString());
                }
                document.Close();
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
            }
            return true; ;
        }
        private static void WritePdf(PdfWriter writer, Document document, DataTable table, float[] headerWidths, string title, List<int> highLightRows, List<int> columnAlignment)
        {
            int NumColumns = table.Columns.Count;
            try
            {
                // we add some meta information to the document                            
                WriteReport(document, table, NumColumns, headerWidths, highLightRows, columnAlignment);
            }
            catch (Exception e)
            {
                Console.Error.WriteLine(e.StackTrace);
            }
        }
        private static void WriteReport(Document document, DataTable table, int NumColumns, float[] headerWidths, List<int> highLightRows, List<int> columnAlignment)
        {
            PdfPTable datatable = new PdfPTable(NumColumns);
            datatable.DefaultCell.Padding = 3;
            // float[] headerwidths = { 9, 4, 8, 10, 8, 11, 9, 7, 9, 10, 4, 10 }; // percentage
            if (headerWidths != null)
                datatable.SetWidths(headerWidths);
            datatable.WidthPercentage = 100; // percentage
            datatable.DefaultCell.BorderWidth = 2;
            datatable.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER;
            datatable.DefaultCell.BorderWidth = 1.0f;
            for (int i = 0; i < table.Rows.Count; i++)
            {
                // check if the row is in the list
                bool shouldHighlight = false;
                if (highLightRows != null)
                {
                    for (int t = 0; t < highLightRows.Count; ++t)
                    {
                        if (highLightRows[t] == i)
                        {
                            shouldHighlight = true;
                            highLightRows.Remove(t);
                            break;
                        }
                    }
                }
                if (shouldHighlight)
                    datatable.DefaultCell.BackgroundColor = new BaseColor(0xFFFF99);
                else
                    datatable.DefaultCell.BackgroundColor = BaseColor.WHITE;
                for (int c = 0; c < table.Columns.Count; ++c)
                {
                    datatable.DefaultCell.HorizontalAlignment = 0;
                    if (columnAlignment != null)
                    {
                        datatable.DefaultCell.HorizontalAlignment = columnAlignment[c];
                    }
                    datatable.AddCell(table.Rows[i][c].ToString());
                }
            }
            document.Add(datatable);
        }
    }
And the full project is uploaded on the attachment!
Can anyone help me to fix that error for me please!
Thanks for helping!
Tan!