Crystal Report using datatable

 public void createReport()
   {
           RPT = "TotalEqpExpReport.rpt";
         
           
            DataSet ds = new DataSet();
           
            //==========================================
            try
            {
                if (con.State == ConnectionState.Closed)
                {
                    con.Open();
                }

                string StrSelect1 = "SELECT Sum(Price)as TotalPriceEqp,YearName FROM ComputerEquipment group by YearName";
                OleDbDataAdapter da2 = new OleDbDataAdapter(StrSelect1, con);
                DataTable dt2 = new DataTable();
                da2.Fill(dt2);

                strSelect = "SELECT Sum(Price)as TotalPriceEqpPart,YearName,UpgradedType FROM EquipmentPart group by YearName,UpgradedType";

                OleDbDataAdapter da = new OleDbDataAdapter(strSelect, con);
                DataTable dt = new DataTable();
                da.Fill(dt);

                DataTable table = new DataTable();
                DataColumn column;
                DataRow row; DataView view; DataRow row1;

                // Create second column.       
                column = new DataColumn();
                column.DataType = Type.GetType("System.String");
                column.ColumnName = "YearName";
                table.Columns.Add(column);

                // Create 3rd column.       
                column = new DataColumn();
                column.DataType = Type.GetType("System.String");
                column.ColumnName = "UpgradedType";
                table.Columns.Add(column);

                // Create new DataColumn, set DataType, ColumnName and add to DataTable.         
                column = new DataColumn();
                column.DataType = System.Type.GetType("System.String");
                column.ColumnName = "TotalPriceEqpPart";
                table.Columns.Add(column);

                // Create 3rd column.       
                column = new DataColumn();
                column.DataType = Type.GetType("System.String");
                column.ColumnName = "TotalPriceEqp";
                table.Columns.Add(column);

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    row = table.NewRow();
                    row["TotalPriceEqpPart"] = dt.Rows[i]["TotalPriceEqpPart"].ToString();
                    row["YearName"] = dt.Rows[i]["YearName"].ToString();
                    row["UpgradedType"] = dt.Rows[i]["UpgradedType"].ToString();                  
                  table.Rows.Add(row);   
                }

                for (int j = 0; j < dt2.Rows.Count; j++)
                {
                    row1 = table.NewRow();                   
                    row1["YearName"] = dt2.Rows[j]["YearName"].ToString();
                    row1["UpgradedType"] = "Total Price of Equipment";
                    row1["TotalPriceEqpPart"] = dt2.Rows[j]["TotalPriceEqp"].ToString();               
                    table.Rows.Add(row1);
                }
               
               // strSelect = "SELECT Sum(Price)as TotalPriceEqp,YearName from ComputerEquipment group by YearName";
                string ReportPath = Program.cryp + "\\" + RPT;
               //// DataSet ds = new DataSet();
               // OleDbDataAdapter da = new OleDbDataAdapter(strSelect, con);           
               // da.Fill(ds);

                ReportDocument CompAllot = new ReportDocument();
                CompAllot.Load(ReportPath);
                CompAllot.SetDataSource(table);
                crystalReportViewer1.ReportSource = CompAllot;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }                   }


No comments:

Post a Comment