您的位置:首页 > 产品设计 > UI/UE

通用查询功能第三版EasyQueryVer3使用说明

2016-06-28 16:14 411 查看
通用查询功能第三版EasyQueryVer3使用说明
 
1.        
演示模板:... 2

2.        
相关文件... 2

3.        
功能说明:... 2

3.1.        
查询功能... 2

3.1.1.     
easyQueryVer3(strSql, synchronization, useCache, strStart)2

3.1.2.     
decodeEasyQueryResult(strResult, notUseEasyQuery, notUseTurnPage,otherTurnPage)3

3.1.3.     
easyExecSql(strSql, synchronization, useCache, strStart,notUseEasyQuery, notUseTurnPage)3

3.1.4.     
turnPage.queryModal(strSql, multilineGrid)3

3.2.        
显示功能... 4

3.2.1.     
displayMultiline(arrDisplayData, multilineGrid, otherTurnPage)4

3.3.        
翻页功能... 4

3.3.1.     
turnPageClass()4

3.3.2.    
turnPage.getData(arrDataSet, arrDataIndex, pageRecordNum)5

3.3.3.     
turnPage.firstPage()5

3.3.4.     
turnPage.previousPage()5

3.3.5.     
turnPage.nextPage()5

3.3.6.     
turnPage.lastPage()5

3.3.7.     
自动控制显示翻页按钮... 5

3.4.        
其他辅助功能函数... 6

3.4.1.     
getWherePart(fieldName, controlName, strOperate, fieldType)6

3.4.2.     
clearArrayElements(arrData)6

3.4.3.     
chooseArray(dataArray, filterArray)6

4.        
复杂应用实例... 7

4.1.        
虚拟数据源的MultiLine显示和翻页操作... 7

4.2.        
在一个页面中显示一个MultiLine,并多次使用查询、拆分等功能...
7

4.3.        
在一个页面中显示多个MultiLine. 7

 

 

1.演示模板:

l  \ui\easyQueryVer3Example\EasyQueryVer3ExampleInput.jsp

l  \ui\easyQueryVer3Example\EasyQueryVer3ExampleInit.jsp

l  \ui\easyQueryVer3Example\EasyQueryVer3Example.js

运行:http://localhost:8900/ui/easyQueryVer3Example/EasyQueryVer3ExampleInput.jsp

注意:localhost是你的主机名

2.相关文件

请确认以下相关文件存在于对应的目录中:

\ui\common\easyQueryVer3\EasyQueryVer3.js

\ui\common\easyQueryVer3\EasyQueryCache.js

\ui\common\easyQueryVer3\EasyQueryKernel.jsp

\ui\common\easyQueryVer3\EasyQueryVer3Window.jsp

3.功能说明:

必须在使用如下功能的页面中包含(注意:不要直接从这里拷贝语句到代码中!):

<SCRIPTsrc="../common/javascript/Common.js" ></SCRIPT>

<SCRIPTsrc="../common/easyQueryVer3/EasyQueryVer3.js"></SCRIPT>

3.1.  查询功能

3.1.1. easyQueryVer3(strSql, synchronization, useCache, strStart)

功能说明:输入一个SQL语句,返回约定格式的查询结果字符串。

输入参数说明

1)       strSql(String类型):SQL语句字符串。

2)       synchronization(1为同步,0为异步):默认情况为1。同、异步查询方式设置。同步为查询出数据后才继续执行程序;异步为发出查询请求后继续执行程序,查询结果会在其他地方进行反馈。

3)       useCache(1为缓存结果,0为不缓存):默认情况为0。设置查询结果缓存。需要进行页面缓存设置,即在需要保存结果的页面包含(注意,该页面刷新后缓存将被清空):

<SCRIPT src="../common/easyQueryVer3/EasyQueryCache.js"></SCRIPT>

4)       strStart(int类型):默认情况为1。设置查询开始记录位置。

StrSql为必填参数,其他可以不填。

输出参数说明

1)       查询成功返回查询结果字符串:由记录和字段拼成,记录以‘^’分隔,字段以‘|’分隔,字段首是查询出的所有记录的数量。

2)       查询失败返回false

使用范例

strSql ="select SysVar, SysVarType, SysVarValue from ldsysvar where 1=1 ";

strQueryResult = easyQueryVer3(strSql, 1, 1, 1);

strQueryResult值为:“ 总记录数^ 记录1字段1 | 记录1字段2 | …… ^ 记录2字段1 | 记录2字段2 …… ”

3.1.2. decodeEasyQueryResult(strResult, notUseEasyQuery, notUseTurnPage,otherTurnPage)

功能说明:将约定格式的字符串拆分成二维数组。

输入参数说明

1)       strResult:约定格式的字符串。主要与easyQueryVer3函数配套使用,输入查询返回的结果字符串。

2)       notUseEasyQuery:非easyQueryVer3查询结果字符串标记。非约定格式字符串。

3)       notUseTurnPage: 不使用翻页功能。“1”非,“0”是,默认非。

4)       otherTurnPage: 使用其它的翻页对象,而不是默认的turnPage对象,必须是一个turnPageClass的对象。

输出参数说明

1)       拆分成功返回二维数组:行(一维)为记录,列(二维)为字段。

2)       拆分失败返回null

3.1.3. easyExecSql(strSql, synchronization, useCache, strStart,notUseEasyQuery, notUseTurnPage)

功能说明:将easyQueryVer3和decodeEasyQueryResult结合使用。输入一个SQL语句,返回一个查询结果的二维数组。

输入参数说明(同easyQueryVer3)

1)       notUseEasyQuery:非easyQueryVer3查询结果字符串标记。非约定格式字符串。

2)       notUseTurnPage: 不使用翻页功能。“1”非,“0”是,默认非。

输出参数说明(同decodeEasyQueryResult)

3.1.4. turnPage.queryModal(strSql, multilineGrid)

功能说明:快速查询显示接口,只能使用默认的turnPage翻页对象,一个页面只能使用一次。方法会根据传入的SQL语句查出数据,并显示在传入的MultiLine对象中,省去easyQueryVer3->decodeEasyQueryResult->turnPage.getData->displayMultiline等详细控制代码。

输入参数说明

1)       strSql(String类型):SQL语句字符串。

2)       multilineGrid:初始化过的Multiline对象。

输出参数说明(无)

3.2.  显示功能

3.2.1.      displayMultiline(arrDisplayData,multilineGrid, otherTurnPage)

功能说明:调用Multiline功能模块显示二维数组。Multiline使用部分详见侯志敏编写的使用文档。

输入参数说明

1)       arrDisplayData:一个二维数组。维数需要与Multiline初始化时的二维数组一致。

2)       multilineGrid:初始化过的Multiline对象。

3)       otherTurnPage: 使用其它的翻页对象,而不是默认的turnPage对象,必须是一个turnPageClass的对象。

输出参数说明(无)

3.3.  翻页功能

该功能必须配合Multiline和displayMultiline使用

3.3.1. turnPageClass()

功能说明:使用翻页功能首先要建立turnPageClass对象,必须建立为全局变量,名称不能改变,必须为var turnPage= new turnPageClass();(水平有限,找不到自动检测出对象类型的方法)所有的翻页方法均以该对象的方法调用,即页面中调用翻页方法需要写成:

<INPUTVALUE="首页" TYPE=button onclick="turnPage.firstPage();">

    <INPUT VALUE="上一页" TYPE=buttononclick="turnPage.previousPage();">

    <INPUT VALUE="下一页" TYPE=buttononclick="turnPage.nextPage();">

    <INPUT VALUE="尾页" TYPE=buttononclick="turnPage.lastPage();">

输入参数说明

1)       turnPage.strQueryResult:easyQueryVer3的查询结果。

2)       turnPage.arrDataCacheSet:decodeEasyQueryResult拆分后的二维数组。

3)       turnPage.pageDisplayGrid:初始化过的Multiline对象。

4)       turnPage.strQuerySql:查询的SQL语句。

5)       turnPage.pageIndex:查询结果显示起始页。从0开始记数,第一页为0。默认0。

6)       turnPage.useSimulation:使用模拟数据源,必须在拆分字符串前付值。为1表示使用,为0表示不使用。默认为0。

7)       turnPage.queryAllRecordCount:查询结果的记录总数。在拆分函数中获取。

8)       turnPage.blockPageNum:一个数据块的页面数。默认为common.js文件中定义的MAXMEMORYPAGES。

9)       turnPage.pageLineNum:一个页面要显示的记录数。默认为common.js文件中定义的MAXSCREENLINES。

输出参数说明(无)

3.3.2.      turnPage.getData(arrDataSet, arrDataIndex, pageRecordNum)

功能说明:在查询结果数组中取出符合页面显示大小设置的数组。是翻页控制的基础。(注意:Common.js中定义的MAXMEMORYPAGES * MAXSCREENLINES不能大于查询块的大小,查询块大小在SysConst.java中的同名变量进行设置)

输入参数说明

1)       arrDataSet:要进行数据显示的二维数组。

2)       arrDataIndex:当前要显示数据在数组中的索引

3)       pageRecordNum:当前页面要显示的记录数

输出参数说明

1)       成功则返回符合页面显示容量的二维数组。

2)       失败返回null

3.3.3. turnPage.firstPage()

功能说明:从第一个查询结果块的第一条记录开始显示。

输入参数说明(无)

输出参数说明(无)

3.3.4. turnPage.previousPage()

功能说明:当查询结果超出一页的显示容量时,查找上一页数据并显示。

输入参数说明(无)

输出参数说明(无)

3.3.5. turnPage.nextPage()

功能说明:当查询结果超出一页的显示容量时,查找下一页数据并显示。

输入参数说明(无)

输出参数说明(无)

3.3.6. turnPage.lastPage()

功能说明:从最后一个查询结果块的最后一条记录开始显示。

输入参数说明(无)

输出参数说明(无)

3.3.7. 自动控制显示翻页按钮

功能说明:在JSP页面中自动控制显示翻页按钮。使用该设置后,如果查询结果数量大于页面设置的显示行数,就会显示翻页按钮,否则不显示。设置方法为:在翻页代码的外边加上如下DIV标签:

<Div  id ="divPage" align=center style = "display: 'none' ">

<INPUT VALUE="首页" TYPE=button onclick="turnPage.firstPage();">

       <INPUT VALUE="上一页" TYPE=button onclick="turnPage.previousPage();">

       <INPUT VALUE="下一页" TYPE=button onclick="turnPage.nextPage();">

       <INPUT VALUE="尾页" TYPE=button onclick="turnPage.lastPage();">

   </Div>

输入参数说明(无)

输出参数说明(无)

3.4.  其他辅助功能函数

3.4.1. getWherePart(fieldName, controlName, strOperate, fieldType)

功能说明:获取页面指定控件的值,并按照指定类型拼成SQL语句的尾串。作者为HST。

输入参数说明

1)       fieldName:SQL中要使用的字段名称。

2)       controlName:控件名称。默认取与字段相同名称的控件。

3)       strOperate:操作符。默认为“=”号操作。

4)       fieldType( 0为字符型,1为数字型 ):字段类型。默认为0。

输出参数说明

1)       返回可直接拼至SQL语句WHERE以后的尾串。

使用范例

strSql = "select SysVar, SysVarType, SysVarValue from ldsysvarwhere 1=1 "

             +getWherePart( 'SysVar' )

             +getWherePart( 'SysVarType' )

             +getWherePart( 'SysVarValue' );

3.4.2. clearArrayElements(arrData)

功能说明:清空数组函数。

输入参数说明

1)       arrData:数组。

输出参数说明

1)       返回空数组。

3.4.3. chooseArray(dataArray, filterArray)

功能说明:过滤二维数组,获取需要的字段。

输入参数说明

1)       dataArray:二维数组。

2)       dataArray:包含过滤索引的一维数组,存放需要的字段的位置,从0开始记数。

输出参数说明

1)       返回二维数组。

使用范例

chooseArray({ {1,2},{3,4} },  {0} ) returns  {{1},{3}}

4.复杂应用实例

在演示模板中均有以下情况的详细实现方法。

4.1.  虚拟数据源的MultiLine显示和翻页操作

虚拟数据源的意思是不通过easyQueryVer3(strSql)方法获取数据库的数据,而是通过其它手段(一般是自己写java后台或者直接写死在代码中)获得符合规则的字符串,并将该字符串中的数据显示在MultiLine中加以显示和操作。

    使用的关键点:

1. 将数据字符串保存进turnPage的查询结果属性中:turnPage.strQueryResult  =strData;

2. 设置使用虚拟数据源标记:turnPage.useSimulation   =1; 

3. 必须将所有数据设置为一个数据块:turnPage3.blockPageNum = turnPage3.queryAllRecordCount /turnPage3.pageLineNum;

4. 接着可进行拆分字符串到二维数组、过滤二维数组字段等操作,过滤功能只能用在这个地方。

4.2.  在一个页面中显示一个MultiLine,并多次使用查询、拆分等功能

早期版本不支持这个功能,属于设计上的缺陷,因为在拆分功能(decodeEasyQueryResult)中设置了公共属性,所以当一个查询被成功执行并显示在MultiLine中后,再次执行拆分操作会导致记数混乱,必须重新再执行前一个查询。

解决方案是扩充decodeEasyQueryResult方法的接口,增加了第三个参数notUseTurnPage,使与翻页无关的查询不会修改公共属性。

使用的关键点:

1. decodeEasyQueryResult(strResult,0, 1);第二个参数必须用0

2. easyExecSql(strSql, 1, 0, 1, 0,1);参数必须这样写

4.3.  在一个页面中显示多个MultiLine

早期版本也不支持这个功能,也属于设计上的缺陷,也是因为共用属性的问题造成的。

解决方案是扩充decodeEasyQueryResult方法和displayMultiline方法的接口,增加指定turnPage对象的参数。

使用的关键点:

1. 为每个MultiLine建立一个turnPage对象,给属性付值时注意不要弄错对象名

2. 在JSP页面中设置翻页按钮时注意Div标签的命名和翻页函数

<Div  id= "divPage2" align=centerstyle= "display: 'none' ">

    <INPUT CLASS=commonVALUE="首页" TYPE=button onclick="turnPage2.firstPage();">

    <INPUT CLASS=commonVALUE="上一页" TYPE=button onclick="turnPage2.previousPage();">                                       

    <INPUT CLASS=commonVALUE="下一页" TYPE=button onclick="turnPage2.nextPage();">

    <INPUT CLASS=commonVALUE="尾页" TYPE=button onclick="turnPage2.lastPage();">

    </Div>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  EasyQueryVer3