我无法根据要求创建报告[已关闭]

问题描述 投票:0回答:1

这是我的代码

        public void PrintSummary( List<Summaryreport> data)
        {
            try
            {
                string report_path = this.reportPath();
                webReport.Report.Load(report_path +"/Ten99Reports/"+ "Summaryprint.frx");
                ReportPage rpage = webReport.Report.FindObject("Page1") as ReportPage;
                TableObject tbl = rpage.FindObject("Table1") as TableObject;
                DataBand dband = rpage.FindObject("Data1") as DataBand;
                TextObject Companyname = rpage.FindObject("Text1") as TextObject;
                TextObject FullName = rpage.FindObject("Text2") as TextObject;
                DataTable dt = new DataTable("Summaryreport");
                dt.Columns.Add("Companyname");
                dt.Columns.Add("FullName");
                dt.Columns.Add("Add_Line1");
                dt.Columns.Add(" City");
                dt.Columns.Add("State");
                dt.Columns.Add("Zip");
                dt.Columns.Add("1096MISC Amount");
                dt.Columns.Add("1096DIV Amount");
                dt.Columns.Add("1096INT Amount");
                dt.Columns.Add("1096R Amount");
                dt.Columns.Add("1096S Amount");
                dt.Columns.Add("1096NEC Amount");
                dt.Columns.Add("MISC Sub Totals");
                dt.Columns.Add("DIV Sub Totals");
                dt.Columns.Add("INT Sub Totals");
                dt.Columns.Add("R Sub Totals");
                dt.Columns.Add("S Sub Totals");
                dt.Columns.Add("NEC Sub Totals");
                dt.Columns.Add("Grand Total");
                if(data.Count>0)
                {
                    DataRow dr = dt.NewRow();
                    dr["Companyname"] = data[0].Companyname;
                    for (int i = 0; i < data.Count; i++)
                    {
                        if (data[i].ReciptType == "MISC")
                        {
                            dr["FullName"] = data[i].FullName;
                            dr["Add_Line1"] = data[i].Add_Line1;
                            dr[" City"] = data[i].City + "," + data[i].State + " " + data[i].Zip;
                            string miscAmount = "MISC Amount:";
                            string misc1096 = data[i].Misc1096.ToString();

                            // int totalWidth =40; // Adjust as needed to achieve desired alignment
                            //int spacesCount = totalWidth - (miscAmount.Length + misc1096.Length);

                            string formattedOutput = miscAmount.PadRight(125) + misc1096;
                            dr["1096MISC Amount"] = formattedOutput;
                        }
                        else if (data[i].ReciptType == "DIV")
                        {
                            dr["FullName"] = data[i].FullName;
                            dr["Add_Line1"] = data[i].Add_Line1;
                            dr[" City"] = data[i].City + "," + data[i].State + " " + data[i].Zip;
                            string divAmount = "DIV Amount:";
                            string div1096 = data[i].Div1096.ToString();
                            int totalWidth = 40; // Adjust as needed to achieve desired alignment
                            int spacesCount = totalWidth - (divAmount.Length + div1096.Length);

                            string formattedOutput = divAmount.PadRight(125) + div1096;
                            dr["1096DIV Amount"] = formattedOutput;
                        }
                        else if (data[i].ReciptType == "INT")
                        {
                            dr["FullName"] = data[i].FullName;
                            dr["Add_Line1"] = data[i].Add_Line1;
                            dr[" City"] = data[i].City + "," + data[i].State + " " + data[i].Zip;
                            string intAmount = "INT Amount:";
                            string int1096 = data[i].INT1096.ToString();

                            //int totalWidth = 40; // Adjust as needed to achieve desired alignment
                            //int spacesCount = totalWidth - (intAmount.Length + int1096.Length);

                            string formattedOutput = intAmount + int1096.PadRight(45);
                            dr["1096INT Amount"] = formattedOutput;
                        }
                        else if (data[i].ReciptType == "R")
                        {
                            dr["FullName"] = data[i].FullName;
                            dr["Add_Line1"] = data[i].Add_Line1;
                            dr[" City"] = data[i].City + "," + data[i].State + " " + data[i].Zip;
                            string rAmount = "R Amount:";
                            string r1096 = data[i].R1096.ToString();

                            //int totalWidth = 40; // Adjust as needed to achieve desired alignment
                            //int spacesCount = totalWidth - (rAmount.Length + r1096.Length);

                            string formattedOutput = rAmount + r1096.PadLeft(25);
                            dr["1096R Amount"] = formattedOutput;

                        }
                        else if (data[i].ReciptType == "S")
                        {
                            dr["FullName"] = data[i].FullName;
                            dr["Add_Line1"] = data[i].Add_Line1;
                            dr[" City"] = data[i].City + "," + data[i].State + " " + data[i].Zip;
                            string sAmount = "S Amount:";
                            string s1096 = data[i].S1096.ToString();

                            //int totalWidth = 40; // Adjust as needed to achieve desired alignment
                            //int spacesCount = totalWidth - (sAmount.Length + s1096.Length);

                            string formattedOutput = sAmount + s1096.PadLeft(25);
                            dr["1096S Amount"] = formattedOutput;

                        }
                        else if (data[i].ReciptType == "NEC")
                        {
                            dr["FullName"] = data[i].FullName;
                            dr["Add_Line1"] = data[i].Add_Line1;
                            dr[" City"] = data[i].City + "," + data[i].State + " " + data[i].Zip;
                            string necAmount = "NEC Amount:";
                            string nec1096 = data[i].NEC1096.ToString();

                            int totalWidth = 40; // Adjust as needed to achieve desired alignment
                            int spacesCount = totalWidth - (necAmount.Length + nec1096.Length);

                            string formattedOutput = necAmount + nec1096;
                            dr["1096NEC Amount"] = formattedOutput;
                        }   
                    }
                    for (int i = 0; i < data.Count; i++)
                     {
                         string mistotal = data[i].misctotal.ToString();
                         dr["MISC Sub Totals"] = mistotal.PadLeft(50);
                         string dvtotal = data[i].divtotal.ToString();
                         dr["DIV Sub Totals"] = dvtotal.PadLeft(50);
                         string inttotal = data[i].INTtotal.ToString();
                         dr["INT Sub Totals"] = inttotal.PadLeft(50);
                         string rtotal = data[i].Rtotal.ToString();
                         dr["R Sub Totals"] = rtotal.PadLeft(50);
                         string stotal = data[i].Stotal.ToString();
                         dr["S Sub Totals"] = stotal.PadLeft(50);
                         string nectotal = data[i].NECtotal.ToString();
                         dr["NEC Sub Totals"] = nectotal.PadLeft(50);
                         string grandtotal = data[i].Grandtotal.ToString();
                         dr["Grand Total"] = grandtotal.PadLeft(50);
                         
                     }
                    dt.Rows.Add(dr);
                    dt.AcceptChanges();
                }
                webReport.Report.RegisterData(dt, "Summaryreport");
                webReport.Report.Pages.Add(rpage);
            }
            catch(Exception e)
            {
                bool rethrow = CommonException.HandleException(e, Enums_Constants.ControllerPolicy);
                if (rethrow)
                    throw;
            }
        }

my requirement

c# asp.net-mvc-4 printing reporting fastreport
1个回答
0
投票

应该是

                     for (int i = 0; i < data.Count; i++)
                     {
                         DataRow newRow = dt.Rows.Add();
                         string mistotal = data[i].misctotal.ToString();
                         newRow["MISC Sub Totals"] = mistotal.PadLeft(50);
                         string dvtotal = data[i].divtotal.ToString();
                         newRow["DIV Sub Totals"] = dvtotal.PadLeft(50);
                         string inttotal = data[i].INTtotal.ToString();
                         newRow["INT Sub Totals"] = inttotal.PadLeft(50);
                         string rtotal = data[i].Rtotal.ToString();
                         newRow["R Sub Totals"] = rtotal.PadLeft(50);
                         string stotal = data[i].Stotal.ToString();
                         newRow["S Sub Totals"] = stotal.PadLeft(50);
                         string nectotal = data[i].NECtotal.ToString();
                         newRow["NEC Sub Totals"] = nectotal.PadLeft(50);
                         string grandtotal = data[i].Grandtotal.ToString();
                         newRow["Grand Total"] = grandtotal.PadLeft(50);
                         
                     }
                    
© www.soinside.com 2019 - 2024. All rights reserved.