导航:

1.reRender控件
2.rendered控件
3.代码演示

reRender控件

用途:局部刷新

这个属性的value值是组件的ID值,可以是一个或多个ID,多个ID用’,'隔开。

rendered控件

用途:可以控制一个控件在页面上是否能显示出来。

这个属性的value是一个Boolean值。如果是true,控件会在页面上显示,否则,不会在页面上显示。

代码演示

<apex:page standardController="ChannelPrice__c" extensions="TestDataList" action="{!init}"><apex:form><apex:pageBlock title="渠道价格查询" mode="edit"><apex:pageBlockSection title="查询渠道价" columns="2"><table> <tr><apex:inputField value="{!cp.MATERIALCODE__c}" /> <apex:inputField value="{!cp.CHANNELPRICENAME__c}" /> <br/>      <apex:inputField value="{!cp.MATERIALNAME__c}" /> <br/>              <apex:inputField value="{!cp.Brand__c}" /> <br/>                 <apex:CommandButton value="搜索" action="{!searchChannelPrices}" reRender="sec2"/></tr></table></apex:pageBlockSection><apex:pageBlockSection  title="搜索结果" columns="2" id="sec2"><apex:dataList value="{!channelPricesAdd}" var="channelPrice" style="padding-left: 0px;list-style: none;margin-left: 0px;"><table border="1" cellpadding="1" style="font-size: 1px;"><tr><th style="text-align: center;">物料编码</th><th style="text-align: center;">物料名称</th><th style="text-align: center;">品牌</th><th style="text-align: center;">类别</th><th style="text-align: center;">价格</th><th style="text-align: center;">数量(瓶)</th><th style="text-align: center;">公司</th></tr><tr><td><apex:outputText value="{!channelPrice.MATERIALCODE__c}"/></td><td><apex:outputText value="{!channelPrice.MATERIALNAME__c}"/></td><td><apex:outputText rendered="{!IF(channelPrice.Brand__c=='百威', true, false)}" value="{!channelPrice.Brand__c}"/></td><td><apex:outputText value="{!channelPrice.CHANNELPRICENAME__c}"/></td><td><apex:outputText value="{!channelPrice.PRICE__c}"/></td><td><apex:outputText value="{!channelPrice.StockBaseQuantity__c}"/> </td><td><apex:outputText value="{!channelPrice.CompanyName__c}"/> </td></tr></table></apex:dataList></apex:pageBlockSection></apex:pageBlock></apex:form>
</apex:page>

代码分析:
reRender控件引入到搜索按钮里面,并在搜索结果中将值传入到id

代码分析:
使用rendered控制Brand__c值的显示,当品牌等于 ‘百威’ 则会隐藏,否则就会显示

reRender添加多个id:

案例:

问题1:
通过以上代码,我如何使用一个按钮同时去控制两个组件呢?

直接上代码,这里我们先添加一个pageBlockSection标签,加入一个table

<apex:page standardController="ChannelPrice__c" extensions="TestDataList" action="{!init}"><apex:form><apex:pageBlock title="渠道价格查询" mode="edit"><apex:pageBlockSection title="查询渠道价" columns="2"><table> <tr><apex:inputField value="{!cp.MATERIALCODE__c}" /> <apex:inputField value="{!cp.CHANNELPRICENAME__c}" /> <br/>      <apex:inputField value="{!cp.MATERIALNAME__c}" /> <br/>              <apex:inputField value="{!cp.Brand__c}" /> <br/>                 <apex:CommandButton value="搜索" action="{!searchChannelPrices}" reRender="sec1,sec2"/></tr></table></apex:pageBlockSection><apex:pageBlockSection  title="搜索结果" columns="2" id="sec1"><apex:dataList value="{!channelPricesAdd}" var="channelPrice" style="padding-left: 0px;list-style: none;margin-left: 0px;"><table border="1" cellpadding="1" style="font-size: 1px;"><tr><th style="text-align: center;">物料编码</th><th style="text-align: center;">物料名称</th><th style="text-align: center;">品牌</th><th style="text-align: center;">类别</th><th style="text-align: center;">价格</th><th style="text-align: center;">数量(瓶)</th><th style="text-align: center;">公司</th></tr><tr><td><apex:outputText value="{!channelPrice.MATERIALCODE__c}"/></td><td><apex:outputText value="{!channelPrice.MATERIALNAME__c}"/></td><td><apex:outputText rendered="{!IF(channelPrice.Brand__c=='百威', true, false)}" value="{!channelPrice.Brand__c}"/></td><td><apex:outputText value="{!channelPrice.CHANNELPRICENAME__c}"/></td><td><apex:outputText value="{!channelPrice.PRICE__c}"/></td><td><apex:outputText value="{!channelPrice.StockBaseQuantity__c}"/> </td><td><apex:outputText value="{!channelPrice.CompanyName__c}"/> </td></tr></table></apex:dataList></apex:pageBlockSection><apex:pageBlockSection  title="搜索结果2" columns="2" id="sec2"><apex:dataList value="{!channelPricesAdd}" var="channelPrice" style="padding-left: 0px;list-style: none;margin-left: 0px;"><table border="1" cellpadding="1" style="font-size: 1px;"><tr><th style="text-align: center;">物料编码</th><th style="text-align: center;">物料名称</th></tr><tr><td><apex:outputText value="{!channelPrice.MATERIALCODE__c}"/></td><td><apex:outputText value="{!channelPrice.MATERIALNAME__c}"/></td></tr></table></apex:dataList></apex:pageBlockSection></apex:pageBlock></apex:form>
</apex:page>

这里的第一个table的id修改为sec1,第二个table的id修改为sec2,加入到reRender中,用’,'隔开

这样便可以用时查询两个table:

看下查询结果

总结:这里对用Visualforce代码简单的做了一个reRender和rendered的分析,它们的功能使用大概就是如此。

Salesforce中reRender和rendered控件的使用相关推荐

  1. JTable是Swing编程中很常用的控件

    JTable是Swing编程中很常用的控件,这里总结了一些常用方法以备查阅. 一.创建表格控件的各种方式: 1) 调用无参构造函数. JTable table = new JTable(); 2) 以 ...

  2. [iOS] 在UIToolBar中增加UILabel等控件(xib/storyboard图形界面方式)

    作者:zyl910 在iOS开发时,有时候需要在UIToolBar中增加UILabel等控件.见过很多资料是以代码方式完成此功能,不易维护.于是我进行了一番摸索,找到了xib/storyboard图形 ...

  3. 如何在多线程中调用winform窗体控件2——实例篇

    如何在多线程中调用winform窗体控件2--实例篇 针对之前文章<如何在多线程中调用winform窗体控件>,下面举个我项目中的实际案例,这是一个我自定义控件在异步设置焦点时的代码.在新 ...

  4. asp.net panel 加html,ASP.NET 页面中动态增加的控件、添加事件

    要求:页面上有一个Add按钮,每点击一次该按钮,页面上动态创建一个WebPartZone! 提醒:WebPartZone只能在OnInit或之前才能创建,否则报异常! 大家都知道,按钮的点击事件是在R ...

  5. .net中实现拖拽控件

    在.net中实现拖拽控件主要用到以下函数: MouseDown(object sender, MouseEventArgs e) MouseUp(object sender, MouseEventAr ...

  6. 在MFC对话框中快速集成三维控件

    在MFC的对话框中可以方便的集成AnyCAD三维控件(c++版本),遵循一下几步: 1.在对话框资源中增加一个Static控件,ID为IDC_STATIC_3D,并且把它的Notify属性设置为Tru ...

  7. 服务器lIS绑定网站,DataList 中动态绑定服务器子控件的代码

    DataList 中动态绑定服务器子控件的代码 更新时间:2007年09月10日 21:54:04   作者: 1.首先绑定dbList (一个DataList控件名称) 2.设置绑定子控件需要的关键 ...

  8. 在Delphi程序中应用IE浏览器控件

    ---- 大概大家还记得Delphi的范例程序中的那个浏览器的例子吧.在那个例子中,利用控件THttp的属性和方法制作了一个浏览器.该例子用于理解THttp控件的使用方法,确实不错.但很少有人会用它作 ...

  9. 在vc2005中使用MoveWindow()调整控件大小,不能及时刷新,在vc6中则可以

    在vc2005中使用MoveWindow()调整控件大小,不能及时刷新,在vc6中则可以? // ------------------------------ vc2005 ------------- ...

  10. VS2015中配置MSComm通讯控件和注意事项

    1.MSCommon通讯控件前文回顾 MSComm 作为一个串行通讯控件.在为程序员串口通讯编程节省了很多时间,基于对话框的应用中加入一个MSComm控件非常简单. MSComm控件提供了两种处理通信 ...

最新文章

  1. 多项式拟合缺点_机器学习——机器学习算法优缺点综述
  2. 2019-05-23 IRIS嗅探器;用IRIS嗅探数据;
  3. 《精通Hadoop》:第 1 章 Hadoop 2.X
  4. 时序数据库InfluxDB
  5. Portainer简介及部署
  6. mysql 3列索引_正确理解Mysql的列索引和多列索引
  7. 产业互联网周报:博通610亿美元收购VMware;阿里云财报13年来首次年度盈利;华为:对所有供应商提出碳减排要求...
  8. yum配置和文泉驿字体安装
  9. win7系统iis服务器删除,Win7系统如何卸载iis 删除win7中iis的方法
  10. 计算机的控制面板打不开,控制面板打不开,教您控制面板打不开怎么办
  11. 5G NR 下行同步SSB(3)-- PBCH/MIB的用途
  12. 鲁迅朱安:留给世纪的背影
  13. ECharts :lable显示所有数据、修改字体样式
  14. GIS添加图层、查询详细
  15. mysql5.7第一次登录修改root密码
  16. 乐高大颗粒作品14:导弹发射车
  17. 图说三极管的三个工作状态
  18. c语言*p和**p,c语言分析(*p)++和*p++的不同含义
  19. win10 + neo4j + jdk 完美安装教程 欲哭无泪贴!!教你彻底卸载老的jdk!
  20. 词云python灿烈_如何用Python做中文词云?

热门文章

  1. Storm-kafka【接口实现】4 - KafkaSpout
  2. linux配置网口的ip地址,Linux基本操作和基础命令(Linux修改IP地址以及修改网卡地址)...
  3. 批量删除新浪微博的关注
  4. MongoDB + Spark: 完整的大数据解决方案
  5. 华硕bios更改固态硬盘启动_华硕bios怎么设置固态硬盘为第一启动项
  6. Flask中自定义红图拆分视图函数的方法以及——为什么蓝图不适合用于拆分试图函数
  7. vue.js提示Vue is not a constructor或Vue.createApp is not a function解决方法
  8. 百练2706 麦森数
  9. 高频引力波数值计算matlab,李刚李莉张雏黄敬霞受热变形及系统优化分析J光.doc...
  10. Nvidia xavier NX通过flash.sh烧录linux系统