页面生成带有合计的表格

要做的效果如下图所示:


做法是先在数据库里把金额合计算好,需要合并的行数也算好,然后放在页面上。因为公司是直接在jsp页面写java脚本的框架模式,所以大家参考修改一下即可。

//这里的ListStyle是公司框架有的,不必理会。

<table class=ListStyle>
    <col width="10%"/>
    <col width="10%"/>
    <col width="10%"/>
    <col width="10%"/>
    <col width="10%"/>
    <col width="10%"/>
    <col width="10%"/>
    <tr class=header>
    <th>报销申请人</th>
    <th>报销单条形码编号</th>
    <th>收款名称</th>
    <th>金额</th>
    <th>收款账号</th>
    <th>开户银行</th>
    <th>合计</th>
    </tr>
    <%

//bill_id是传进去的id,moneysum是合计金额,sumrow是要合并的行数
    String sql="select rm.applicant,rm.bar_code,rm.collection_name,rm.money,rm.bank,rm.collection_account,rm1.moneysum,rm1.sumrow"+ 
  " from REIMBURSE rm left join  (select collection_account,sum(money) as moneysum,count(1) as sumrow from REIMBURSE r where r.billid="+bill_id+" group by collection_account)"+
  "rm1 on rm.collection_account=rm1.collection_account where rm.billid="+bill_id+" order by rm.collection_account";
    //这一句是执行sql语句,视你自己的框架而定

RecordSet.executeSql(sql);
    int flag=1;
    while(RecordSet.next())
    {
    String applicant=RecordSet.getString("applicant");
    String bar_code=RecordSet.getString("bar_code");
    String collection_name=RecordSet.getString("collection_name");
    Double money=RecordSet.getDouble("money");
    String collection_account=RecordSet.getString("collection_account");
    String bank=RecordSet.getString("bank");
    int sumrow=RecordSet.getInt("sumrow");
    Double moneysum=RecordSet.getDouble("moneysum");
    %><tr>
      <td><%=applicant%></td>
      <td><%=bar_code%></td>
      <td><%=collection_name%></td>
      <td><%=money%></td>
      <td><%=collection_account%></td>
      <td><%=bank%></td>
    <%
    if(flag==1)
    {%>
    <td style="vertical-align:middle;" rowspan=<%=sumrow%>><%=moneysum%></td>
    <%}
    flag++;
    if(flag>sumrow)
    {
    flag=1;
    }
    } %>
    </tr>
   </table>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值