I need to show a monthly report with values from three tables.I have made a query that returns the result from three tables. Firstly I designed a Dataset with the data and their type that will be returned by the query. Then designing the .rpt file I added the dataset.After then I filled the dataset from the query. The dataset does show all the output correctly in a griedView but when I am trying to create the pdf one of the column (product_id) is null.....What is the problem....I have spent a lot of time to find out it but cant....Please help me...More info:SQL Server 2008 R2ASP.NET with C#Query:\[code\]SELECT [sales].[date],[sales].product_id, [product].unitPrice as 'pUnitPrice', [product].quantity as 'stock', [product].unitPrice*[product].quantity as "stockTotal", SUM([sales].quantitiy) as 'salesUnit',[distribution].unitPrice as 'sUnitPrice',SUM([sales].quantitiy)*[distribution].unitPrice as 'saleTotal',[product].quantity-SUM([sales].quantitiy) as 'balance'from sales JOIN product ON sales.product_id = product.product_idJOIN [distribution] ON [product].product_id = [distribution].distribution_idgroup by [sales].product_id, [product].unitPrice, [product].quantity,[sales].[date], [distribution].unitPriceorder by [sales].[date]\[/code\]Perfect Result in GridView\[code\] DataTable reportTable = new DataTable(); reportTable.Columns.Add("date", Type.GetType("System.String")); reportTable.Columns.Add("product_id", Type.GetType("System.Int32")); reportTable.Columns.Add("pUnitPrice", Type.GetType("System.Int32")); reportTable.Columns.Add("stock", Type.GetType("System.Int32")); reportTable.Columns.Add("stockTotal", Type.GetType("System.Int32")); reportTable.Columns.Add("salesUnit", Type.GetType("System.Int32")); reportTable.Columns.Add("sUnitPrice", Type.GetType("System.Int32")); reportTable.Columns.Add("saleTotal", Type.GetType("System.Int32")); reportTable.Columns.Add("balance", Type.GetType("System.Int32")); SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["mainConnectionString"].ConnectionString); connection.Open(); SqlCommand command = new SqlCommand("[dbo].[Report]", connection); command.CommandType = CommandType.StoredProcedure; ReportDataSet reportDdataSet = new ReportDataSet(); DataSet dataSet = new DataSet(); SqlDataAdapter adapter = new SqlDataAdapter(command); adapter.Fill(dataSet); reportTable = dataSet.Tables[0]; reportDdataSet.Tables[0].Merge(reportTable); reportDocumentObj.Load(Server.MapPath("../UI/TotalReport.rpt")); reportDocumentObj.SetDataSource(reportDdataSet); GridView1.DataSource = reportDdataSet; GridView1.DataBind();\[/code\]Creating PDF:\[code\] MemoryStream oStream; Response.Clear(); Response.Buffer = true; oStream = (MemoryStream)reportDocumentObj.ExportToStream(ExportFormatType.PortableDocFormat); Response.ClearContent(); Response.ClearHeaders(); Response.ContentType = "application/pdf"; Response.AddHeader("Content-Disposition", "inline; filename=" + "Report.pdf"); Response.BinaryWrite(oStream.ToArray()); Response.End(); oStream.Flush(); oStream.Close(); oStream.Dispose();\[/code\]