`
chengyue2007
  • 浏览: 1493852 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

报表打印两段分页程序 算法

 
阅读更多

报表 开发中的,报表打印 报表打印两段分页程序 算法

报表打印 两段分页程序 算法

//正常排序,然后进行合计的算法
	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>");

}

 

分享到:
评论

相关推荐

    C#程序开发范例宝典(第2版).part08

    一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...

    C#程序开发范例宝典(第2版).part12

    一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...

    C#程序开发范例宝典(第2版).part13

    一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...

    C#程序开发范例宝典(第2版).part02

    一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...

    2009年9月二级ACCESS真卷

    第二十三问提到了报表设计中强制分页的操作,通常使用特定的图标或控件来实现在打印或预览时的页面分割。 ### Access综合操作 第二十四问及之后的部分未完整给出,但可以推测这部分将继续涵盖Access数据库应用设计...

    2021-2022计算机二级等级考试试题及答案No.10489.docx

    Java语言支持两种浮点型数据:`float` 和 `double`。其中,`float` 类型占用32位存储空间,而 `double` 类型占用64位存储空间。`double` 类型通常提供更高的精度,适用于需要高精度计算的场景;而 `float` 类型则...

    计算机二级Access模拟试题

    - **解析**:分页符在报表设计视图中通常以短虚线的形式显示在左边界上,用于指示打印时的换页位置。 18. **自定义窗体的工具**: - **题目**:Access窗体工具箱中可以实现自定义窗体的是? - **答案**:D) 控件...

Global site tag (gtag.js) - Google Analytics