润乾 报表模板里实现动态搜索提示(类似百度提示)

本文介绍如何在润乾报表模板中实现动态搜索提示功能,类似于百度搜索。通过从数据库提取数据,结合JavaScript和CSS框架,提供键盘交互的搜索提示,支持输入关键字过滤结果,并展示前10条匹配信息。
摘要由CSDN通过智能技术生成

1. 问题概述
客户想实现一个类似站内搜索的功能,要求在参数模板查询的文本框里,根据输入的关键字,能够实现基于动态搜索提示,类似百度,google那种,默认取排名前10条信息,支持键盘下移回车等操作,数据来源为数据库表的关键字段.经过一番功夫的整理,详见实例演示.

2. 实例演示一
1.数据的来源以数据库EMPLOYEE表为例,提取所有EMPNAME信息:

2.点击参数模板文本框,自动从数据库提取前10条信息,作为参数查询条件

3.输入关键字,会自动过滤掉不想要的信息.

4. 当输入的关键字,过滤的结果比较多的时候,默认提取排名前10条信息.

5.选择要查询的参数,根据具体参数值查询出相应的结果.

5. 参数模板的设计:


3. 实例演示二
1.在系统站内实现,数据的来源以数据库EMPLOYEE表为例,提取所有EMPNAME信息:

2. 当输入的关键字,过滤的结果比较多的时候,默认提取排名前10条信息. 带结果提示

3. 输入关键字,会自动过滤掉不想要的信息.带结果提示

4. 实例演示三
1.在系统站内实现,数据的来源以数据库EMPLOYEE表为例,提取所有EMPNAME信息:

2. 当输入的关键字,过滤的结果比较多的时候,默认提取排名前10条信息.

3. 输入关键字,会自动过滤掉不想要的信息.

5. 基本实现原理
1.从数据库表提取站内搜索关键字段的信息
2.在参数模板里定义文本框为HTML类型,定义DIV层
3.利用雅虎的javascript搜索及CSS框架,在此基础上对数据进行二次封装
关于框架可在网上搜索

6. 关键性程序说明
1.执行数据库管理(打开关闭连接,执行增删改查),DBManager.java代码:

package org.xaccp.bar;

  

import java.sql.CallableStatement;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

 

public class DBManager {

    public static final String DRIVERNAME =“com.newatlanta.jturbo.driver.Driver”;

    public static final String URL = “jdbc:JTurbo://127.0.0.1/DBA/charset=GBK”;

    public static final String UID = “sa”;

    public static final String PWD = “sa”;

    private static DBManager manager = new DBManager();

    private Connection conn = null;

 

    public DBManager() {

       try {

           openConnection();

       catch (ClassNotFoundException e) {

           e.printStackTrace();

       catch (SQLException e) {

           e.printStackTrace();

       }

    }

    //单例模式

    public static DBManager getInstance() {

       return manager;

    }

    //打开连接

    public void openConnection() throws ClassNotFoundException, SQLException {

       try {

           Class.forName(DRIVERNAME);

           conn = DriverManager.getConnection(URLUIDPWD);

       catch (Exception e) {

           e.printStackTrace();

       }

    }

    //执行增删改

    public void executeUpdate(String strSql) throws SQLException {

       Statement stat = this.conn.createStatement();

       stat.executeUpdate(strSql);

    }

    //执行查询

    public ResultSet executeQuerry(String strSql) throws SQLException {

       Statement stat = this.conn.createStatement();

       return stat.executeQuery(strSql);

    }

    //关闭连接

    public void closeConnection() throws SQLException {

       if (this.conn == null)

           return;

 

       if (!(this.conn.isClosed())) {

           this.conn.close();

           this.conn = null;

       }

    }

    //自行存储过程

    public CallableStatement getCallableStatement(St

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值