这是我的代码
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;
}
}
应该是
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);
}