刚才在洗衣服时,我在想:好久,我没有动“笔”写东西了,脑子也开始好像慢慢地缺乏了整理,像我们自己用久的了硬盘一样,性能日趋下降;从两年前用了PETSHOP1.0模式给某政府单位开发了一个网络OA后,我再也没有很认真来考虑一些真正的关于.Net技术的问题,更不提现在的什么AJAX。自从去年前面的10个月的数据仓库项目开始后到现在,我觉得自己总是在忙忙碌碌,难得有闲时梳理自己的某些想法,越发觉得懒惰。Maybe,这是麻木的开始…….
前段时间,哥们接了个车辆管理系统,B/S架构的,他做了大部分,后到了北京去开某站点的垂直搜索引擎后,这单事落到了俺的身上(我在西南某个漂亮的地方)。废话有点多了,久不写了,思绪的点飘。。。哈哈
话归正题。在做之前,我先说下客户的要求:需要实现的功能很简单,就是统计本单位每一辆车的各种费用以及出车次数、事故次数。刚开始的思路是这样的,先在EXCEL定义好格式与各种统计指标,如这样<%#Department%> 表示部门,然后在逻辑上再以一个同名(为什么是同名呢?只是便于统计实体的映射了)的Department方法来实现数据的输出,通过遍历这标签(统计指标)我们就可以实现了EXCEL报表。但后来,因为实施过程碰到了些不确定因素,再加上客户说,每次启动EXCEL太慢了,这个问题也确实存在,再加数据的运算,这个方法在使用上对于客户来说是要有点耐心呢~~。
以前自己也用个控件实现个WEB的打印,但这个方案同样不适用于本项目,因为客户的计算机使用水平相对有点低,设置起来对于他们来说很麻烦,因此这个办法—Get Out! So,改!于是,我到网上看看有些什么东东我可以用的~~,一步入“江湖”,好不热闹!某些BadBoy说用WebBrowser做打印不错呢~,于是我也凑起热闹了。
找齐家伙:
/ 负责打印的家伙,我们可以将它放在打印表格的底部,我稍稍了解了一下它的用法,从网上Copy的,名字都没改~~,我也不知大概的出处在那里,没法注明这位仁兄的大名,不好意思了
<script language="javascript">
<!--//
function printsetup(){
// 打印页面设置
wb.execwb(8,1);
}
function printpreview()
{
// 打印页面预览
wb.execwb(7,1);
}
function printit()
{
if (confirm('确定打印吗?')) {
wb.execwb(6,6)
}
}
//-->
</script>
<OBJECT id=wb height=0 width=3
classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 name=wb >
</OBJECT>
<INPUT class= Noneadprinting οnclick=javascript:printit() type=button value=打印 name=button_print>
<INPUT class= Noneadprinting οnclick=javascript:printsetup(); type=button value=打印页面设置 name=button_setup>
<INPUT class= Noneadprinting οnclick=javascript:printpreview(); type=button value=打印预览 name=button_show>
<input class= Noneadprinting οnclick=javascript:window.close(); type=button value=关闭 name=button>
/表格样式,什么表头呀,每一行呀,ect.
<style type=text/css>
.report_head { FONT-WEIGHT: bold; FONT-SIZE: 18pt; COLOR: #000000; TEXT-DECORATION: none }
.report_column { BORDER-TOP: #000000 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 12pt; COLOR: #014e82; TEXT-DECORATION: none }
TD { BORDER-RIGHT: #ffffff 0px solid; BORDER-TOP: #ffffff 0px solid; FONT-SIZE: 11pt; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid }
TableHead { BORDER-LEFT-COLOR: #000000; BORDER-BOTTOM-COLOR: #000000; BORDER-TOP-COLOR: #000000; BORDER-COLLAPSE: collapse; BORDER-RIGHT-COLOR: #000000 }
</style>
/屏蔽多余的东东
<style media=print>
.Noneadprinting { DISPLAY: none }
.PageNext { PAGE-BREAK-AFTER: always } //这东西很可爱,分页就要靠它了~~
</style>
基于以上的东东,我们基本上可以做打印了。
我把先搭了个Frame:
在form里写好表头:
<DIV class=report_head align=center>西电实业有限公司汽车运输分公司车辆使用统计报表</DIV>
接着定好统计项,装载数据等:
<
TABLE
class
=TableHead
id
=Table1
cellSpacing
=0
cellPadding
=3
width
="100%"
border =1 >
< TR class ="report_column" >
< td align =center width =165 height =19 > 部门 </ td >
< td style ="WIDTH: 193pt" align =center > 车牌号码 </ td >
< td style ="WIDTH: 179pt" align =center > 车型 </ td >
< td style ="WIDTH: 188pt" align =center > 行程里程 </ td >
< td style ="WIDTH: 120pt" align =center > 总油耗 </ td >
< td style ="WIDTH: 40pt" align =center > 加油费 </ td >
< td style ="WIDTH: 140pt" align =center > 维修费 </ td >
< td style ="WIDTH: 122pt" align =center > 养路费 </ td >
< td style ="WIDTH: 180pt" align =center > 过路/桥费 </ td >
< td style ="WIDTH: 54pt" align =center > 洗车费 </ td >
< td style ="WIDTH: 54pt" align =center > 停车费 </ td >
< td style ="WIDTH: 54pt" align =center > 年检费 </ td >
< td style ="WIDTH: 54pt" align =center > 保险费 </ td >
< td style ="WIDTH: 59pt" align =center > 其它费用 </ td >
< td style ="WIDTH: 40pt" align =center > 总费用 </ td >
< td style ="WIDTH: 150pt" align =center > 出车次数 </ td >
< td style ="WIDTH: 59pt" align =center > 运营费用 </ td >
< td style ="WIDTH: 59pt" align =center > 事故次数 </ td >
< td style ="WIDTH: 143pt" align =center > 利用天数 </ td >
< td style ="WIDTH: 80pt" align =center > 利用率 </ td >
</ TR >
< asp:repeater id =vehiclesGrid runat ="server" >
< ItemTemplate >
< TR >
< TD height ="5" width ="165" > <% ... # DataBinder.Eval(Container.DataItem, "Department.Name") %> </ TD >
< TD height ="5" style ='WIDTH:193pt' > <% ... # DataBinder.Eval(Container.DataItem, "Number") %> </ TD >
< TD style ='WIDTH:179pt' > <% ... # DataBinder.Eval(Container.DataItem, "Type.TypeName") %> </ TD >
< TD style ='WIDTH:188pt' > <% ... # DataBinder.Eval(Container.DataItem, "MilesRange") %> </ TD >
< TD style ='WIDTH:120pt' > <% ... # DataBinder.Eval(Container.DataItem, "OilCountSum") %> </ TD >
< TD style ='WIDTH:40pt' > <% ... # DataBinder.Eval(Container.DataItem, "GasCostSum") %> </ TD >
< TD style ='WIDTH:140pt' > <% ... # DataBinder.Eval(Container.DataItem, "MaintainCostSum") %> </ TD >
< TD style ='WIDTH:122pt' > <% ... # DataBinder.Eval(Container.DataItem, "MaitainRoadAndBridgeSum") %> </ TD >
< TD style ='WIDTH:180pt' > <% ... # DataBinder.Eval(Container.DataItem, "RoadAndBridgeTollSum") %> </ TD >
< TD style ='WIDTH:54pt' > <% ... # DataBinder.Eval(Container.DataItem, "WashCarCostSum") %> </ TD >
< TD style ='WIDTH:54pt' > <% ... # DataBinder.Eval(Container.DataItem, "ParkCarCostSum") %> </ TD >
< TD style ='WIDTH:54pt' > <% ... # DataBinder.Eval(Container.DataItem, "YearCheckCostSum") %> </ TD >
< TD style ='WIDTH:54pt' > <% ... # DataBinder.Eval(Container.DataItem, "InsuranceCostSum") %> </ TD >
< TD style ='WIDTH:59pt' > <% ... # DataBinder.Eval(Container.DataItem, "ElseCostSum") %> </ TD >
< TD style ='WIDTH:40pt' > <% ... # DataBinder.Eval(Container.DataItem, "CostSum") %> </ TD >
< TD style ='WIDTH:150pt' >
<% ... # DataBinder.Eval(Container.DataItem, "AssignmentCount") %>
</ TD >
< TD style ='WIDTH:59pt' >
<% ... # DataBinder.Eval(Container.DataItem, "RunCost") %>
</ TD >
< TD style ='WIDTH:59pt' > <% ... # DataBinder.Eval(Container.DataItem, "AccidentCounts") %> </ TD >
< TD style ='WIDTH:143pt' >
<% ... # DataBinder.Eval(Container.DataItem, "AssignmentDays") %>
</ TD >
< TD style ='WIDTH:80pt' >
<% ... # DataBinder.Eval(Container.DataItem, "AssignmentDaysRate") %>
</ TD >
</ TR >
</ ItemTemplate >
</ asp:repeater >
</ TABLE >
border =1 >
< TR class ="report_column" >
< td align =center width =165 height =19 > 部门 </ td >
< td style ="WIDTH: 193pt" align =center > 车牌号码 </ td >
< td style ="WIDTH: 179pt" align =center > 车型 </ td >
< td style ="WIDTH: 188pt" align =center > 行程里程 </ td >
< td style ="WIDTH: 120pt" align =center > 总油耗 </ td >
< td style ="WIDTH: 40pt" align =center > 加油费 </ td >
< td style ="WIDTH: 140pt" align =center > 维修费 </ td >
< td style ="WIDTH: 122pt" align =center > 养路费 </ td >
< td style ="WIDTH: 180pt" align =center > 过路/桥费 </ td >
< td style ="WIDTH: 54pt" align =center > 洗车费 </ td >
< td style ="WIDTH: 54pt" align =center > 停车费 </ td >
< td style ="WIDTH: 54pt" align =center > 年检费 </ td >
< td style ="WIDTH: 54pt" align =center > 保险费 </ td >
< td style ="WIDTH: 59pt" align =center > 其它费用 </ td >
< td style ="WIDTH: 40pt" align =center > 总费用 </ td >
< td style ="WIDTH: 150pt" align =center > 出车次数 </ td >
< td style ="WIDTH: 59pt" align =center > 运营费用 </ td >
< td style ="WIDTH: 59pt" align =center > 事故次数 </ td >
< td style ="WIDTH: 143pt" align =center > 利用天数 </ td >
< td style ="WIDTH: 80pt" align =center > 利用率 </ td >
</ TR >
< asp:repeater id =vehiclesGrid runat ="server" >
< ItemTemplate >
< TR >
< TD height ="5" width ="165" > <% ... # DataBinder.Eval(Container.DataItem, "Department.Name") %> </ TD >
< TD height ="5" style ='WIDTH:193pt' > <% ... # DataBinder.Eval(Container.DataItem, "Number") %> </ TD >
< TD style ='WIDTH:179pt' > <% ... # DataBinder.Eval(Container.DataItem, "Type.TypeName") %> </ TD >
< TD style ='WIDTH:188pt' > <% ... # DataBinder.Eval(Container.DataItem, "MilesRange") %> </ TD >
< TD style ='WIDTH:120pt' > <% ... # DataBinder.Eval(Container.DataItem, "OilCountSum") %> </ TD >
< TD style ='WIDTH:40pt' > <% ... # DataBinder.Eval(Container.DataItem, "GasCostSum") %> </ TD >
< TD style ='WIDTH:140pt' > <% ... # DataBinder.Eval(Container.DataItem, "MaintainCostSum") %> </ TD >
< TD style ='WIDTH:122pt' > <% ... # DataBinder.Eval(Container.DataItem, "MaitainRoadAndBridgeSum") %> </ TD >
< TD style ='WIDTH:180pt' > <% ... # DataBinder.Eval(Container.DataItem, "RoadAndBridgeTollSum") %> </ TD >
< TD style ='WIDTH:54pt' > <% ... # DataBinder.Eval(Container.DataItem, "WashCarCostSum") %> </ TD >
< TD style ='WIDTH:54pt' > <% ... # DataBinder.Eval(Container.DataItem, "ParkCarCostSum") %> </ TD >
< TD style ='WIDTH:54pt' > <% ... # DataBinder.Eval(Container.DataItem, "YearCheckCostSum") %> </ TD >
< TD style ='WIDTH:54pt' > <% ... # DataBinder.Eval(Container.DataItem, "InsuranceCostSum") %> </ TD >
< TD style ='WIDTH:59pt' > <% ... # DataBinder.Eval(Container.DataItem, "ElseCostSum") %> </ TD >
< TD style ='WIDTH:40pt' > <% ... # DataBinder.Eval(Container.DataItem, "CostSum") %> </ TD >
< TD style ='WIDTH:150pt' >
<% ... # DataBinder.Eval(Container.DataItem, "AssignmentCount") %>
</ TD >
< TD style ='WIDTH:59pt' >
<% ... # DataBinder.Eval(Container.DataItem, "RunCost") %>
</ TD >
< TD style ='WIDTH:59pt' > <% ... # DataBinder.Eval(Container.DataItem, "AccidentCounts") %> </ TD >
< TD style ='WIDTH:143pt' >
<% ... # DataBinder.Eval(Container.DataItem, "AssignmentDays") %>
</ TD >
< TD style ='WIDTH:80pt' >
<% ... # DataBinder.Eval(Container.DataItem, "AssignmentDaysRate") %>
</ TD >
</ TR >
</ ItemTemplate >
</ asp:repeater >
</ TABLE >
通过repeater的模板属性就已经实现了多记录的打印的功能,但我们的分页呢?在那呢?此我就作了以下的改动:
<
script
runat
=server
>
...
public int nPageSize =10; //每页要打页的记录数
public int nRecordNum=0; / /作为分页点用
</ script >
< TABLE class =TableHead id =Table1 cellSpacing =0 cellPadding =3 width ="100%"
border =1 >
<% ...
if (nRecordNum<=nPageSize)
{
%>
< TR class ="report_column" >
< td align =center width =165 height =19 > 部门 </ td >
< td style ="WIDTH: 193pt" align =center > 车牌号码 </ td >
< td style ="WIDTH: 179pt" align =center > 车型 </ td >
< td style ="WIDTH: 188pt" align =center > 行程里程 </ td >
< td style ="WIDTH: 120pt" align =center > 总油耗 </ td >
< td style ="WIDTH: 40pt" align =center > 加油费 </ td >
< td style ="WIDTH: 140pt" align =center > 维修费 </ td >
< td style ="WIDTH: 122pt" align =center > 养路费 </ td >
< td style ="WIDTH: 180pt" align =center > 过路/桥费 </ td >
< td style ="WIDTH: 54pt" align =center > 洗车费 </ td >
< td style ="WIDTH: 54pt" align =center > 停车费 </ td >
< td style ="WIDTH: 54pt" align =center > 年检费 </ td >
< td style ="WIDTH: 54pt" align =center > 保险费 </ td >
< td style ="WIDTH: 59pt" align =center > 其它费用 </ td >
< td style ="WIDTH: 40pt" align =center > 总费用 </ td >
< td style ="WIDTH: 150pt" align =center > 出车次数 </ td >
< td style ="WIDTH: 59pt" align =center > 运营费用 </ td >
< td style ="WIDTH: 59pt" align =center > 事故次数 </ td >
< td style ="WIDTH: 143pt" align =center > 利用天数 </ td >
< td style ="WIDTH: 80pt" align =center > 利用率 </ td >
</ TR >
<% ...
} %>
< asp:repeater id =vehiclesGrid runat ="server" >
< ItemTemplate >
<% ...
nRecordNum++;
int nModPage=0;
Math.DivRem( nRecordNum ,nPageSize ,out nModPage);
if (nModPage+1==1)
{
%>
<! -―分页标志begin―― >
< TR class ="PageNext" >
< td colspan =20 class ="PageNext" height ="0" ></ td ></ TR >
<! -―分页标志end―― >
< TR class ="report_column" >
< td class ="report_column" align =center width =165 height =19 > 部门 </ TD >
< td class ="report_column" style ="WIDTH: 193pt" align =center > 车牌号码 </ TD >
< td class ="report_column" style ="WIDTH: 179pt" align =center > 车型 </ TD >
< td class ="report_column" style ="WIDTH: 188pt" align =center > 行程里程 </ TD >
< td class ="report_column" style ="WIDTH: 120pt" align =center > 总油耗 </ TD >
< td class ="report_column" style ="WIDTH: 40pt" align =center > 加油费 </ TD >
< td class ="report_column" style ="WIDTH: 140pt" align =center > 维修费 </ TD >
< td class ="report_column" style ="WIDTH: 122pt" align =center > 养路费 </ TD >
< td class ="report_column" style ="WIDTH: 180pt" align =center > 过路/桥费 </ TD >
< td class ="report_column" style ="WIDTH: 54pt" align =center > 洗车费 </ TD >
< td class ="report_column" style ="WIDTH: 54pt" align =center > 停车费 </ TD >
< td class ="report_column" style ="WIDTH: 54pt" align =center > 年检费 </ TD >
< td class ="report_column" style ="WIDTH: 54pt" align =center > 保险费 </ TD >
< td class ="report_column" style ="WIDTH: 59pt" align =center > 其它费用 </ TD >
< td class ="report_column" style ="WIDTH: 40pt" align =center > 总费用 </ TD >
< td class ="report_column" style ="WIDTH: 150pt" align =center > 出车次数 </ TD >
< td class ="report_column" style ="WIDTH: 59pt" align =center > 运营费用 </ TD >
< td class ="report_column" style ="WIDTH: 59pt" align =center > 事故次数 </ TD >
< td class ="report_column" style ="WIDTH: 143pt" align =center > 利用天数 </ TD >
< td class ="report_column" style ="WIDTH: 80pt" align =center > 利用率 </ TD >
</ TR >
<% ...
}
else
{ %>
< TR > <% ...
} %>
< TD height ="5" width ="165" > <% ... # DataBinder.Eval(Container.DataItem, "Department.Name") %> </ TD >
< TD height ="5" style ='WIDTH:193pt' > <% ... # DataBinder.Eval(Container.DataItem, "Number") %> </ TD >
< TD style ='WIDTH:179pt' > <% ... # DataBinder.Eval(Container.DataItem, "Type.TypeName") %> </ TD >
< TD style ='WIDTH:188pt' > <% ... # DataBinder.Eval(Container.DataItem, "MilesRange") %> </ TD >
< TD style ='WIDTH:120pt' > <% ... # DataBinder.Eval(Container.DataItem, "OilCountSum") %> </ TD >
< TD style ='WIDTH:40pt' > <% ... # DataBinder.Eval(Container.DataItem, "GasCostSum") %> </ TD >
< TD style ='WIDTH:140pt' > <% ... # DataBinder.Eval(Container.DataItem, "MaintainCostSum") %> </ TD >
< TD style ='WIDTH:122pt' > <% ... # DataBinder.Eval(Container.DataItem, "MaitainRoadAndBridgeSum") %> </ TD >
< TD style ='WIDTH:180pt' > <% ... # DataBinder.Eval(Container.DataItem, "RoadAndBridgeTollSum") %> </ TD >
< TD style ='WIDTH:54pt' > <% ... # DataBinder.Eval(Container.DataItem, "WashCarCostSum") %> </ TD >
< TD style ='WIDTH:54pt' > <% ... # DataBinder.Eval(Container.DataItem, "ParkCarCostSum") %> </ TD >
< TD style ='WIDTH:54pt' > <% ... # DataBinder.Eval(Container.DataItem, "YearCheckCostSum") %> </ TD >
< TD style ='WIDTH:54pt' > <% ... # DataBinder.Eval(Container.DataItem, "InsuranceCostSum") %> </ TD >
< TD style ='WIDTH:59pt' > <% ... # DataBinder.Eval(Container.DataItem, "ElseCostSum") %> </ TD >
< TD style ='WIDTH:40pt' > <% ... # DataBinder.Eval(Container.DataItem, "CostSum") %> </ TD >
< TD style ='WIDTH:150pt' >
<% ... # DataBinder.Eval(Container.DataItem, "AssignmentCount") %>
</ TD >
< TD style ='WIDTH:59pt' >
<% ... # DataBinder.Eval(Container.DataItem, "RunCost") %>
</ TD >
< TD style ='WIDTH:59pt' > <% ... # DataBinder.Eval(Container.DataItem, "AccidentCounts") %> </ TD >
< TD style ='WIDTH:143pt' >
<% ... # DataBinder.Eval(Container.DataItem, "AssignmentDays") %>
</ TD >
< TD style ='WIDTH:80pt' >
<% ... # DataBinder.Eval(Container.DataItem, "AssignmentDaysRate") %>
</ TD >
</ TR >
</ ItemTemplate >
</ asp:repeater >
</ TABLE >
public int nPageSize =10; //每页要打页的记录数
public int nRecordNum=0; / /作为分页点用
</ script >
< TABLE class =TableHead id =Table1 cellSpacing =0 cellPadding =3 width ="100%"
border =1 >
<% ...
if (nRecordNum<=nPageSize)
{
%>
< TR class ="report_column" >
< td align =center width =165 height =19 > 部门 </ td >
< td style ="WIDTH: 193pt" align =center > 车牌号码 </ td >
< td style ="WIDTH: 179pt" align =center > 车型 </ td >
< td style ="WIDTH: 188pt" align =center > 行程里程 </ td >
< td style ="WIDTH: 120pt" align =center > 总油耗 </ td >
< td style ="WIDTH: 40pt" align =center > 加油费 </ td >
< td style ="WIDTH: 140pt" align =center > 维修费 </ td >
< td style ="WIDTH: 122pt" align =center > 养路费 </ td >
< td style ="WIDTH: 180pt" align =center > 过路/桥费 </ td >
< td style ="WIDTH: 54pt" align =center > 洗车费 </ td >
< td style ="WIDTH: 54pt" align =center > 停车费 </ td >
< td style ="WIDTH: 54pt" align =center > 年检费 </ td >
< td style ="WIDTH: 54pt" align =center > 保险费 </ td >
< td style ="WIDTH: 59pt" align =center > 其它费用 </ td >
< td style ="WIDTH: 40pt" align =center > 总费用 </ td >
< td style ="WIDTH: 150pt" align =center > 出车次数 </ td >
< td style ="WIDTH: 59pt" align =center > 运营费用 </ td >
< td style ="WIDTH: 59pt" align =center > 事故次数 </ td >
< td style ="WIDTH: 143pt" align =center > 利用天数 </ td >
< td style ="WIDTH: 80pt" align =center > 利用率 </ td >
</ TR >
<% ...
} %>
< asp:repeater id =vehiclesGrid runat ="server" >
< ItemTemplate >
<% ...
nRecordNum++;
int nModPage=0;
Math.DivRem( nRecordNum ,nPageSize ,out nModPage);
if (nModPage+1==1)
{
%>
<! -―分页标志begin―― >
< TR class ="PageNext" >
< td colspan =20 class ="PageNext" height ="0" ></ td ></ TR >
<! -―分页标志end―― >
< TR class ="report_column" >
< td class ="report_column" align =center width =165 height =19 > 部门 </ TD >
< td class ="report_column" style ="WIDTH: 193pt" align =center > 车牌号码 </ TD >
< td class ="report_column" style ="WIDTH: 179pt" align =center > 车型 </ TD >
< td class ="report_column" style ="WIDTH: 188pt" align =center > 行程里程 </ TD >
< td class ="report_column" style ="WIDTH: 120pt" align =center > 总油耗 </ TD >
< td class ="report_column" style ="WIDTH: 40pt" align =center > 加油费 </ TD >
< td class ="report_column" style ="WIDTH: 140pt" align =center > 维修费 </ TD >
< td class ="report_column" style ="WIDTH: 122pt" align =center > 养路费 </ TD >
< td class ="report_column" style ="WIDTH: 180pt" align =center > 过路/桥费 </ TD >
< td class ="report_column" style ="WIDTH: 54pt" align =center > 洗车费 </ TD >
< td class ="report_column" style ="WIDTH: 54pt" align =center > 停车费 </ TD >
< td class ="report_column" style ="WIDTH: 54pt" align =center > 年检费 </ TD >
< td class ="report_column" style ="WIDTH: 54pt" align =center > 保险费 </ TD >
< td class ="report_column" style ="WIDTH: 59pt" align =center > 其它费用 </ TD >
< td class ="report_column" style ="WIDTH: 40pt" align =center > 总费用 </ TD >
< td class ="report_column" style ="WIDTH: 150pt" align =center > 出车次数 </ TD >
< td class ="report_column" style ="WIDTH: 59pt" align =center > 运营费用 </ TD >
< td class ="report_column" style ="WIDTH: 59pt" align =center > 事故次数 </ TD >
< td class ="report_column" style ="WIDTH: 143pt" align =center > 利用天数 </ TD >
< td class ="report_column" style ="WIDTH: 80pt" align =center > 利用率 </ TD >
</ TR >
<% ...
}
else
{ %>
< TR > <% ...
} %>
< TD height ="5" width ="165" > <% ... # DataBinder.Eval(Container.DataItem, "Department.Name") %> </ TD >
< TD height ="5" style ='WIDTH:193pt' > <% ... # DataBinder.Eval(Container.DataItem, "Number") %> </ TD >
< TD style ='WIDTH:179pt' > <% ... # DataBinder.Eval(Container.DataItem, "Type.TypeName") %> </ TD >
< TD style ='WIDTH:188pt' > <% ... # DataBinder.Eval(Container.DataItem, "MilesRange") %> </ TD >
< TD style ='WIDTH:120pt' > <% ... # DataBinder.Eval(Container.DataItem, "OilCountSum") %> </ TD >
< TD style ='WIDTH:40pt' > <% ... # DataBinder.Eval(Container.DataItem, "GasCostSum") %> </ TD >
< TD style ='WIDTH:140pt' > <% ... # DataBinder.Eval(Container.DataItem, "MaintainCostSum") %> </ TD >
< TD style ='WIDTH:122pt' > <% ... # DataBinder.Eval(Container.DataItem, "MaitainRoadAndBridgeSum") %> </ TD >
< TD style ='WIDTH:180pt' > <% ... # DataBinder.Eval(Container.DataItem, "RoadAndBridgeTollSum") %> </ TD >
< TD style ='WIDTH:54pt' > <% ... # DataBinder.Eval(Container.DataItem, "WashCarCostSum") %> </ TD >
< TD style ='WIDTH:54pt' > <% ... # DataBinder.Eval(Container.DataItem, "ParkCarCostSum") %> </ TD >
< TD style ='WIDTH:54pt' > <% ... # DataBinder.Eval(Container.DataItem, "YearCheckCostSum") %> </ TD >
< TD style ='WIDTH:54pt' > <% ... # DataBinder.Eval(Container.DataItem, "InsuranceCostSum") %> </ TD >
< TD style ='WIDTH:59pt' > <% ... # DataBinder.Eval(Container.DataItem, "ElseCostSum") %> </ TD >
< TD style ='WIDTH:40pt' > <% ... # DataBinder.Eval(Container.DataItem, "CostSum") %> </ TD >
< TD style ='WIDTH:150pt' >
<% ... # DataBinder.Eval(Container.DataItem, "AssignmentCount") %>
</ TD >
< TD style ='WIDTH:59pt' >
<% ... # DataBinder.Eval(Container.DataItem, "RunCost") %>
</ TD >
< TD style ='WIDTH:59pt' > <% ... # DataBinder.Eval(Container.DataItem, "AccidentCounts") %> </ TD >
< TD style ='WIDTH:143pt' >
<% ... # DataBinder.Eval(Container.DataItem, "AssignmentDays") %>
</ TD >
< TD style ='WIDTH:80pt' >
<% ... # DataBinder.Eval(Container.DataItem, "AssignmentDaysRate") %>
</ TD >
</ TR >
</ ItemTemplate >
</ asp:repeater >
</ TABLE >
到此,打印全部结速!简单的打印的功能几乎可以满足了,对于那种说用户自定义打印记录数等等,那个方法还得完善。示例图如下: