wabacus学习笔记

1page是一个特殊容器,一个页面必须包括一个page,且必须放在顶层,可以嵌套其它容器,但不能被其它容器嵌套。page容器如果配置了多个子组件时,它们将垂直排列,之间的间距由它们的topbottom属性决定。包括(标题,边框,滚动条,页面拦截器)

 

2tabpanel是一个切换容器,一次显示容器中一个子组件。像CSS中的滑动门。

 

3panel是一个只能显示一个子组件的容器,子组件可以是除<page/>之外的任意容器或报表表单。

 

4framepanel是一个只能显示一个子组件的容器(如extends的不会显示),子组件可以是除<page/>之外的任意容器或报表表单。framepanel容器不能控制标题的显示位置。

<framepanel id="framepanel12" title="我的标题" parenttitle="有边框" margin="10px" border="1">
<report id="report5" extends="pagetitlepage1.report2" top="0"></report>
</framepanel>

Framepanel包裹report

 

5vpanel如果配置了多个子组件(包括容器或报表),它们将以垂直的方式全部显示出来,与上面的<page/>容器一致。

6hpanel如果配置了多个子组件(包括容器或报表),它们将以横向的方式全部显示出来。

7、从request中获取数据,指定格式为request{key}request{key.propertyname},session{key},

另外reporttitle属性支持配置从资源文件国际化资源文件中取得数据title=${key},title=i18n{key}.

8、·displayreport中用于显示数据像一个table一样,col就是列,group分组,label就是label(囧)。

·Sqlreport中与display级别相同,value用来写sql具体语句,condition用来写条件。

·Format与上面的两个级别相同。

9、<interceptor>和report级别相同, report类型 
list、blocklist、crosslist、editablelist、editablelist2、listform、detail、editabledetail、editabledetail2、form.
 
10、report报表的继承,<report id="report1" title="继承外面的报表" extends="listpage1.report1">,形如:page的id.report.id。跟Java一个样。
 

11SQL语句中没有用到动态数据,即没有出现@{}request{}等,则支持标准语法,如果用到动态数据,则要用wabacus的语法,否则就用存储过程。

12、<inputbox type="selectbox">
   <option label="全部" value=""></option>
<option source="@{select distinct province from tbl_area}" label="province" value="province"></option>
</inputbox>
从数据库查询的结果作为下拉框的输入条件(condition
13、<interceptor>报表配置拦截器有三种方式:第一种:通过report标签的interceptor属性配置一个拦截器Java类。第二种:通过report标签引用一个拦截器资源项。第三种:就是通过配置interceptor子标签。
设置权限<interceptor>
                         <imports>
                                  <import>com.wabacus.util.*</import> 
                          </imports>
                          <preaction>
                                rrequest.authorize("report1",Consts.SEARCH_PART,null,"display","false");//隐藏搜索栏
                                rrequest.authorize("report2",Consts.SEARCH_PART,null,"readonly","true");//只读搜索栏
                        </preaction>
                 </interceptor>
14、延迟加载
        ·第一种方式通过url指定延迟加载,demo中数据展示篇-常用功能配置-延迟加载数据
        ·第二种方式通过拦截器指定加载
15、数据搜索联想功能
<col column="no" label="工号" clickorderby="true" width="130px" valuestyleproperty="style='mso-number-format:\@;'">
                                           <inputbox jsvalidate="isNotEmpty(${invalid.isnotempty})">
                                                    <typeprompt count="15">
                                                            <promptcol label="no" title="工号" matchmode="2"></promptcol>
                                                            <promptcol label="name" title="中文名"></promptcol>
                                                            <datasource>select no,name from tbl_baseinfo where no like '%#data#%'</datasource>
           </typeprompt>
        </inputbox>
</col>
 
16、主从表方式,表单篇-主从方式
<report id="report2" title="request{dept_name}详细资料" type="form" jsvalidatetype="1" depends="report1" dependsparams="txtdeptno2=@{deptno}">
 
17、拦截器作为控制类,拦截器类必须先在配置文件中声明wabuas.cfg.xml,interceptor字标签中如果配置了pageid,那么该拦截器只对该页面有效,如果没有配置,则对所有page有效,page中可以自定义私有的拦截器,必须继承抽象类AbsPageInterceptor
 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值