wabacus学习记录01--查询条件(20120810)

学习使用wabacus一段时间了,在这里把遇到的问题做一些整理

[b]1.查询条件[/b]

[i]a.开始结束日期--结束日期默认是当前时间,开始日期默认回推一周
[/i]

首先在拦截器里把开始结束时间放到request里
<interceptor>
<imports>
<import>com.wabacus.util</import>
<import>java.util</import>
<import>java.text</import>
</imports>
<preaction>
<![CDATA[
Date d=new Date();
String beginTime=rrequest.getStringAttribute("txtBeginTime","");//txtBeginTime为此<condition/>的name属性
if(beginTime.equals(""))
{//没有条件值
rrequest.setAttribute("txtBeginTime",DateFormat.getDateInstance().format(new Date(d.getTime() - 7 * 24 * 60 * 60 * 1000)));//将条件值设置进去。
}

String endTime=rrequest.getStringAttribute("txtEndTime","");//txtcheckDate为此<condition/>的name属性
if(endTime.equals(""))
{//没有条件值
rrequest.setAttribute("txtEndTime",DateFormat.getDateInstance().format(d));//将条件值设置进去。
}
//System.out.println("txtEndTime is :"+rrequest.getAttribute("txtBeginTime")+"===="+rrequest.getAttribute("txtEndTime"));
]]>
</preaction>
</interceptor>


sql片段写成如下

column_date between cast('#txtBeginTime#' as datetime) and cast('#txtEndTime#' as datetime)


condition 配置如下
<condition name="txtBeginTime" label="开始日期">
<inputbox type="datepicker" jsvalidate="isDate({0}格式不对,必须为yyyy-MM-dd格式)"/></condition>
<condition name="txtEndTime" label="结束日期">
<inputbox type="datepicker" jsvalidate="isDate({0}格式不对,必须为yyyy-MM-dd格式)"/></condition>



[i]b.查询条件来自session[/i]
例如拦截器里把某个参数放到session了,
<interceptor>
<preaction>
rrequest.getRequest().getSession().setAttribute("txtage","30");//在session中存入txtage的值为30,以便后面的查询条件能从中取到数据。
</preaction>
</interceptor>

condition中可以通过以下配置用session的值查询

<condition name="txtage" label="年龄" hidden="true" source="session">
<value>
<![CDATA[(age > #data#)]]>
</value>
</condition>


[i]c.查询条件来自url,可直接使用[/i]
例如url有个参数是txt_CustCode,那么condition可以配置如下
<condition name="txt_CustCode" hidden="true" label="顾客编号">
<value>
<![CDATA[(CustCode = '#data#' )]]>
</value>
</condition>


[i]d.select语句的条件不仅仅是在where之后[/i]
有两种方法
方法一:直接在SQL语句中通过#name#指定查询条件,其中name为<condition/>的name属性配置值,这样可以非常灵活地指定查询条件,不需要通过{#condition#} 占位符,具体可以参看DEMO的“数据展示篇”---“查询条件”---“在SQL语句中指定条件”的演示,以及开发指南关于这部分的介绍
方法二:使用存储过程查询报表数据。

限制日期只能选周的某几个
在inputbox的styleproperty里加入 onFocus='WdatePicker({disabledDays:[0,6]})'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值