一般地

本文总结了使用ADF进行应用开发的多种实用技巧,包括调整VO的Updatable属性、设置EO字段排序、修改基于EO的VO的SQL、同步数据库字段更改到EO、配置主键自增、统一新增与修改操作页面、实现下拉列表数据展示、美化UI界面等。

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

1.EO的Updatable属性默认为Always,基于EO创建的VO也是。而基于SQL创建VO的Updatable属性默认为Never,如果要修改(例如将VO拖至页面生成Form用于新增),则需将该属性设置为Always。
2.在EO中设置字段排序:UI Categories
3.基于EO的VO如何修改SQL?SQL Mode:Expert
4.修改数据库字段时如何同步EO。选中EO对象右击,选择Synchronize with Dabase
5.EO设置主键使用序列自动增长
MySQL主键是可以自动增长的,只需要用auto_increment关键字,而在Oracle里,是没有auto_increment关键字来设计自动增长的,只能用序列

(new oracle.jbo.server.SequenceImpl("JXJHGL_JXZYFB_SEQ",adf.object.getDBTransaction())).getSequenceNumber()

6.新增和修改跳转至同一页面。setActionListener
7.action和actionListener区别:返回值。String和void
8.showPopupBehavior据说有bug。建议用JSFUtils.showPopup()
9.在TaskFlow的Behavior中将Share data controls with calling task flow前面的勾取消掉,初始化方法过滤数据就不会影响其他的TaskFlow
10.Table选中即可编辑当前行editingMode="clickToEdit"
11.View Criterial查询条件多选。勾选Support Multiple Value Selection
12.View Criterial查询条件。Item UI Hints-Rendered Mode设置成never,在页面不显示。
13.绑定变量Control Hints-Display Hint设置成Hide,在页面不显示。
14.使用af:inputFile时在jspx页面需要设置(<af:form id="f1" usesUpload="true">)
15.表格增加序号列。

<af:column id="c11" align="center" width="50" headerText="No.">
  <af:outputText value="#{vs.index+1}" id="ot2"/>
</af:column>

其中vs为af:table中的属性 varStatus="vs"
16.导出Excel

<af:commandToolbarButton text="导出" id="ctb2">
<af:fileDownloadActionListener contentType="text/html;charset=utf-8"
                               filename="期末成绩录入监控-详细班级.xls"
                               method="#{cjglCjlrjkBean.zdyExport}"/>
</af:commandToolbarButton>

17.数据为0和1,在页面显示是和否。
三元运算符

<af:column sortProperty="#{bindings.JxjhglJxzyfbhzbView1.hints.Fbzt.name}"
           sortable="true"
           headerText="#{bindings.JxjhglJxzyfbhzbView1.hints.Fbzt.label}"
           id="c5">
  <af:outputText value='#{row.Fbzt eq 0?"否":row.Fbzt eq 1?"是":""}'
                 id="ot3"/>
</af:column>

或者设置LOV后从Data Controls中拖至页面

<af:column headerText="#{bindings.JxjhglJxzyfbhzbView1.hints.Fbzt.label}"
           id="c9">
  <af:selectOneChoice value="#{row.bindings.Fbzt.inputValue}"
                      label="#{row.bindings.Fbzt.label}"
                      required="#{bindings.JxjhglJxzyfbhzbView1.hints.Fbzt.mandatory}"
                      shortDesc="#{bindings.JxjhglJxzyfbhzbView1.hints.Fbzt.tooltip}"
                      id="soc2" readOnly="true">
    <f:selectItems value="#{row.bindings.Fbzt.items}" id="si2"/>
  </af:selectOneChoice>
</af:column>

18.通常设置

1.af:document。设置title
2.af:dialog。设置title
3.ad:image。设置shortDesc
4.af:popup。设置contentDelivery="lazyUncached" childCreation="deferred"
5.af:query。设置saveQueryMode="hidden" modeChangeVisible="false" resultComponentId rows maxColumns
6.af:panelCollection。设置styleClass="AFStretchWidth" featuresOff="detach viewMenu"
7.af:table。设置summary。当rowSelection="multiple"要删除selectedRowKeys="#{bindings.LocationsView1.collectionModel.selectedRow}"
8.VO绑定变量,登录账号adf.context.sessionScope.yhzh
9.统计

      <f:facet name="statusbar">
        <af:toolbar id="t3">
          <af:outputText value="#{common.total}" id="ot1"/>
          <af:outputText value="#{bindings.TksftyVo1.estimatedRowCount}"
                         inlineStyle="color:Red; font-weight:800;" id="ot6"
                         partialTriggers="::qryId1 t1"/>
          <af:outputText value=" 条数据" id="ot8"/>
        </af:toolbar>
      </f:facet>

转载于:https://my.oschina.net/u/3646781/blog/1576456

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值