报表 开发中的,报表打印 报表打印两段分页程序 算法
报表打印 两段分页程序 算法
//正常排序,然后进行合计的算法 public static void println(){ List<String> list=new ArrayList<String>(); list.add("1"); list.add("1"); list.add("2"); list.add("2"); list.add("2"); list.add("5"); list.add("5"); String L_CUR_SP =""; String L_OLD_SP=""; Integer sum=0; Integer all=0; for(int i=0;list!=null && i<list.size();i++){ String name=list.get(i); L_CUR_SP=name; if(!L_CUR_SP.equals(L_OLD_SP) && i!=0){ System.out.println("合计:="+sum); sum=0; L_OLD_SP =L_CUR_SP; } L_OLD_SP =L_CUR_SP; sum+=Integer.parseInt(name); System.out.println("name"+(i+1)+"="+name); all+=Integer.parseInt(name); } System.out.println("合计:="+sum); System.out.println("总合计:="+all); } 结果: name1=1 name2=1 合计:=2 name3=2 name4=2 name5=2 合计:=6 name6=5 name7=5 合计:=10 总合计:=18
public static void printPage(){
int total_num=9;
int totalcount;
int totalpage;
int remaincount;
int mod;
int currentPage;
int line_num;
String hn="hn";
for(int i=1;i<=1;i++){
System.out.println("<header>");
System.out.println("<hn>"+hn+"</hn>");
totalcount=9;
remaincount =totalcount%total_num;
totalpage =(int)Math.floor(totalcount/total_num);
if(remaincount!=0)totalpage=totalpage+1;
System.out.println("<pageinfor>"+1+"/"+totalpage+"</pageinfor>");
for(int j=1 ;j<=totalcount;j++){
mod=j%total_num;
currentPage=(int)Math.floor(j/total_num)+1;
line_num=currentPage*total_num+mod-total_num;
System.out.println("<line>");
System.out.println("<lin_pro>provered</lin_pro>");
System.out.println("<lin_num>"+line_num+"</lin_num>");
System.out.println("</line>");
if (mod==0 && remaincount!=0){
System.out.println("</header>");
System.out.println("<header>");//out other infor
System.out.println("<hn>"+hn+"</hn>");
System.out.println("<pageinfor>"+currentPage+"/"+totalpage+"</pageinfor>");
}
}
//循环出来一个空行
if(remaincount!=0)
for (int l=1;l<=total_num-remaincount;l++){
System.out.println("<line>");
System.out.println("<lin_pro></lin_pro>");
System.out.println("<lin_num></lin_num>");
System.out.println("</line>");
}
System.out.println("</header>");
}
}
public static void printPage2(){
List<String> list=new ArrayList<String>();
list.add("11");
list.add("11");
list.add("12");
list.add("12");
list.add("12");
list.add("12");
list.add("22");
list.add("23");
list.add("23");
list.add("33");
list.add("32");
list.add("32");
list.add("42");
list.add("43");
list.add("43");
list.add("43");
list.add("42");
list.add("42");
list.add("41");
String L_CUR_COMPANY_CODE="0";
String L_LST_COMPANY_CODE="0";
String L_CUR_ACC="0";
String L_LST_ACC="0";
intL_TOTAL_NUM=3;
int L_INDEX_COUNT=1;
int L_FLAG=0;
for(int i=1;i<=list.size();i++){
L_CUR_COMPANY_CODE=list.get(i-1).substring(0, 1);
L_CUR_ACC =list.get(i-1).substring(1, 2);
if(!L_LST_COMPANY_CODE .equals(L_CUR_COMPANY_CODE)){
L_LST_COMPANY_CODE =L_CUR_COMPANY_CODE;
L_INDEX_COUNT=0;
L_FLAG=1;
}
if(!L_LST_ACC.equals(L_CUR_ACC)){
L_LST_ACC=L_CUR_ACC;
L_INDEX_COUNT=0;
L_FLAG=1;
}
if (L_INDEX_COUNT % L_TOTAL_NUM ==0){
L_FLAG=1;
}
if( L_FLAG==1){
if(i!=1){
System.out.println("</header>");
}
System.out.println("<header><pro>ct</pro>");
L_FLAG=0;
}
System.out.println(list.get(i-1));
L_INDEX_COUNT++;
}
System.out.println("</header>");
}
相关推荐
一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...
一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...
一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...
一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...
第二十三问提到了报表设计中强制分页的操作,通常使用特定的图标或控件来实现在打印或预览时的页面分割。 ### Access综合操作 第二十四问及之后的部分未完整给出,但可以推测这部分将继续涵盖Access数据库应用设计...
Java语言支持两种浮点型数据:`float` 和 `double`。其中,`float` 类型占用32位存储空间,而 `double` 类型占用64位存储空间。`double` 类型通常提供更高的精度,适用于需要高精度计算的场景;而 `float` 类型则...
- **解析**:分页符在报表设计视图中通常以短虚线的形式显示在左边界上,用于指示打印时的换页位置。 18. **自定义窗体的工具**: - **题目**:Access窗体工具箱中可以实现自定义窗体的是? - **答案**:D) 控件...