普通报表的删除功能

本文介绍了一种在润乾报表中实现删除数据的方法,包括设置报表模板中的超链接及JavaScript调用,定义用于执行删除操作的JSP文件等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



用户在使用润乾报表时,经常遇到希望删除某一条数据的需求,润乾报表的行式填报中有插入,追加,删除行的功能,但对于普通报表,就需要另想办法了。下面主要介绍下如何在报表中删除一条数据,这里的报表没有特殊的要求,既可以是普通浏览式报表,也可以是填报表。

一:实现思路

通过在报表后面添加一个删除的超链接,超链接中调用一个js方法,同时传递删除数据所用到的参数以及删除后页面重定向的链接地址。Js方法中调用一个jspjsp中实现接受参数,执行sql语句,最后重定向到指定页面。

二:实现步骤

1:创建报表模板,设置超链接


数据源使用润乾自带的demo

数据集为:SELECT 产品.产品ID,产品.产品名称,产品.单价,产品.单位数量,产品.库存量 FROM 产品

超链接表达式为:"javascript:delData_jade('showReportDJ.jsp?raq=/deleteusejs/deleteusejs.raq','产品','产品ID','"+A2+"')"

注意:删除一个产品只需要table名称,字段名称,产品ID即可,产品ID即为A2单元格中数据。

2:定义JavaScript

function delData_jade(refreshUrl,table,column,value)

{

 

       if( table==null || table=='' ){

              alert("删除数据表为空,请联系数据管理员");

              return false;

       }

       if( refreshUrl==null || refreshUrl=='' ){

              alert("刷新url为空,请联系系统管理员");

              return false;

       }

      

       if( confirm('确认删除吗?') ){

      

                     window.location.href = "deleteusejs.jsp?refreshUrl="+refreshUrl+"&table="+table+"&column="+column+"&value="+value;

 

       }

}

JavaScript中调用deleteusejs.jsp,同时传递参数给jsp

3:定义jsp

<%@ page contentType="text/html;charset=gb2312" %>

<%@ page import="java.io.*"%>

<%@ page import="java.net.*"%>

<%@ page import="java.util.*"%>

<%@ page import="javax.servlet.*"%>

<%@ page import="javax.servlet.http.*"%>

<%@ page import="javax.naming.*,java.sql.*" %>

<%@ page import="com.runqian.report4.usermodel.*"%>

 

<%

//获取各参数值

String tableName1=request.getParameter("table");

String colmn1=request.getParameter("column");

String value1=request.getParameter("value");

 

 

String refreshUrl = request.getParameter("refreshUrl");

 

Connection con = null;

Statement stmt = null;

try{

//获取context对象

    com.runqian.report4.usermodel.Context ct = new com.runqian.report4.usermodel.Context();

    con = ct.getConnectionFactory( ct.getDefDataSourceName() ).getConnection();

    stmt = con.createStatement();

    if(tableName1!=null&&colmn1!=null&&value1!=null&&tableName1!=""&&colmn1!=""&&value1!=""){

//定义删除sql语句

           String sql="delete from "+tableName1+" where "+colmn1+"='"+value1+"'";

//执行sql语句

               stmt.executeUpdate(sql);

    }

       //提交

   con.commit();

//重定向url

   response.sendRedirect(refreshUrl);

}catch(Exception e){

   e.printStackTrace();

}finally{

//关闭流

    if( stmt != null ) stmt.close();

    if( con != null ) con.close();

}

%>

三:执行效果。


四:总结

利用此种做法不仅可实现删除功能,也可以实现添加数据,更新数据的功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值