ADF11g-018:ADF中使用Auto Suggest

ADF 11g中提供了Auto Suggest功能,这大大的提高了UI界面的友好性。下面来看一下关于Auto Suggest功能ADF中提供的af:autoSuggestBehavior标签:

    

    maxSuggestedItems:整数,SuggestItems的返回列表值的个数,-1时返回所有过滤的结果

   SmartList: EL表达式指定的方法必须声明为public List<javax.faces.model.SelectItem>  smartList()的形式。当此项被指定时,将首先返回被过滤的结果,如果没有返回值,将自动触发SuggestedItems指定的EL表达式,从服务器获取结果。

   SuggestedItemsEL表达式指定的方法必须声明为public List<javax.faces.model.SelectItem> suggestedItems(java.lang.String value) 形式。这个属性现在已经弃用了,使用SuggestItems替代。

   SuggestItems:EL表达式指定的方法必须声明为public java.util.List<javax.faces.model.SelectItem> suggestItems(javax.faces.context.FacesContext, oracle.adf.view.rich.model.AutoSuggestUIHints)形式

 因此,可以在Manage Bean中构建方法来实现Auto Suggest功能,当然这种情况下,实现起来要写一定的代码。

    其实,我们要在页面中使用Auto Suggest功能,完全无须写一句代码,因为ADF已经帮我们实现了这些功能:

  •     在View Object中,给要使用Auto Suggest的字段添加Input List Of Value

     

   注意:图片上在ID上使用Auto Suggest功能实际上是没有意义的,因为在输入的时候,也只能输入ID。因此要加适合的AutoSuggest字段

  •     在Page Def中添加List of Values,当你直接将VO拖到页面上时,选择LOV显示时,会自动产生这段代码,如果你选择的是普通文本框,则需要收到添加以下代码。当然,你完全可以拖两次。

<listOfValues StaticList="false" IterBinding="Countries1Iterator"
                  Uses="LOV_RegionId" id="RegionId"/>
  •      为标签af:autoSuggestBehavior的属性指定值。

       如果是suggestedItems,则直接指定#{bindings.RegionId.suggestedItems},此时设置maxSuggestedItems 将不起作用,默认是10。所以maxSuggestedItems一般和suggestItems配合使用。

       如果是suggestItems,则直接指定#{bindings.RegionId.suggestItems}。

       smartItems,直接指定#{bindings.RegionId.smartItems}。

    说明:解析#{bindings.RegionId}时,得到的类是FacesCtrlLOVBinding,在这个类里面对AutoSuggest已经做了实现。可以参见FacesCtrlLOVBinding的API

    

参考文献

http://jdevadf.oracle.com/adf-richclient-demo/docs/tagdoc/af_autoSuggestBehavior.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值