wicket基础应用(3)——wicket控件的隐藏和显示
在一个项目,页面经常要显示和隐藏一些控件,用wicket来控制显示和隐藏控件相当的方便。
1、最简单的隐藏和显示方法:
wicket的控件大部分都有setVisible(...)方法,用这个方法就可以隐藏和显示大部分的控件。
如
addEntSpNumPanel.setVisible(true);//显示
showSpNumUsePanel.setVisible(false);//隐藏
如果要点击某个控件的同时隐藏这个控件本身,可以这样做:
Button addSpNumButton = new Button("addSpNum") {
@Override
public void onSubmit() {
addEntSpNumPanel.setVisible(true);
showSpNumUsePanel.setVisible(false);
this.setVisible(false);//隐藏控件本身
}
};
2、通过ajax方式隐藏控件
这个可以说wicket一个做的不大好的地方。通过ajax方式隐藏控件要分两种情况分析。
(1)隐藏单一控件:
如果只是要隐藏一个控件,就比较容易做,比如,通过下拉框的ajax方式隐藏一个下拉框控件:
actTypeChoice.add(new AjaxFormComponentUpdatingBehavior("onchange") {
@Override
protected void onUpdate(AjaxRequestTarget target) {
dataGroupChoice.setVisible(true);
target.addComponent(dataGroupChoice);
}
});
actTypeChoice是一个下拉框控件,当控件的值改变时,触发onUpdate(..)事件。在这里也要注意,target.addComponent(dataGroupChoice)中的控件dataGroupChoice必须设置一个属性才能正常隐藏显示,否则会报异常。属性如下:
dataGroupChoice.setOutputMarkupId(true);
(2)隐藏一个以上的控件
如果你要隐藏一个以上的控件,比如要隐藏一个表格,那么就最好把这个表格放在一个WebMarkupContainer里面,这样隐藏的时候只要控制这个WebMarkupContainer控件就可以了。看例子:
<span wicket:id="addEntSpNumPar">
<span wicket:id="addEntSpNum">
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<th align="right" style="width: 60px;">测试: </th>
<td style="width: 60%">
<input type="text" wicket:id="spNum"/>
</td>
</tr>
<tr>
<th align="right" style="width: 60px;">测试2: </th>
<td style="width: 60%">
<input type="text" wicket:id="spNum2"/>
</td>
</tr>
</table>
</span>
</span>
WebMarkupContainer addEntSpNumPanelPar = new WebMarkupContainer("addEntSpNumPar");
WebMarkupContainer addEntSpNumPanel = new WebMarkupContainer("addEntSpNum");
addEntSpNumPanel.setOutputMarkupId(true);
addEntSpNumPanelPar.add(addEntSpNumPanel);
TextField spNumText = new TextField("spNum", new Model());
addEntSpNumPanel.add(spNumText);
TextField spNumText2 = new TextField("spNum2", new Model());
addEntSpNumPanel.add(spNumText2);
改变事件:
actTypeChoice.add(new AjaxFormComponentUpdatingBehavior("onchange") {
@Override
protected void onUpdate(AjaxRequestTarget target) {
addEntSpNumPanel.setVisible(false);
target.addComponent(addEntSpNumPanelPar);
}
});
wicket基础应用(3)——wicket控件的隐藏和显示的更多相关文章
- js设置控件的隐藏与显示的两种方法
js设置控件的隐藏与显示,设置控件style的display和visibility属性就可以了,下面有个示例,需要的朋友可以参考下用JavaScript隐藏控件的方法有两种,分别是通过设置控件的sty ...
- C#控件——批量化隐藏或显示同类型控件
当一个页面中添加了许多同类型控件,当需要控制这些控件进行显示或隐藏的时候,需要一个个的将Visible属性设置为false,十分不方便, 后通过论坛受一位大神(至于叫什么忘了)的启发,通过建立控件数组 ...
- 微信小程序 audio组件 默认控件 无法隐藏/一直显示/改了controls=‘false’也没用2019/5/28
<audio>默认控件,如果需要隐藏,不需要特意设置controls = 'false',直接把这个属性删除即可,不然无论如何都会存在 之前,设置了controls = 'false' & ...
- 使用padding值控制控件的隐藏与显示
在学自定义控件下拉刷新这一案例,控制ListView头条目和尾条目的显示隐藏时,就是设置其padding值的正负控制其的显示与隐藏.这并不是什么很大的知识点.只是一个小技巧,这里给大家分享一下. 这一 ...
- BPM控制控件的隐藏与显示
在BPM官方给的属性中控件属性DisplayRule中设置条件控制显示或者隐藏的时候,只能控制选中的,标题也要重新设置,这样就比较麻烦,不如自己来写javascript代码. 举一个简单的例子: 通过 ...
- winform快速开发平台 -> 基础组件之分页控件
一个项目控件主要由及部分的常用组件,当然本次介绍的是通用分页控件. 处理思想:我们在处理分页过程中主要是针对数据库操作. 一般情况主要是传递一些开始位置,当前页数,和数据总页数以及相关关联的业务逻辑. ...
- MFC基础,MFC自绘控件学习总结.---转
前言:从这学期开始就一直在学习自绘控件(mfc),目标是做出一款播放器界面,主要是为了打好基础,因为我基础实在是很烂....说说我自己心得体会以及自绘控件的方法吧,算是吐槽吧,说的不对和不全的地方,或 ...
- 重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试
原文:重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试 [源码下载] 重新想象 Windows 8 Store ...
- cocos2dx基础篇(9) 滑块控件CCControlSlider
[3.x] (1)去掉 “CC” (2)对象类 CCObject 改为 Ref (3)CCControlEvent 改为强枚举 Control::EventType (4)CCControlEvent ...
随机推荐
- SecureCRT自动备份脚本-华为
# $language = "VBScript" # $interface = "1.0" Sub Main Const ForReading = 1, For ...
- ActionScript语言函数重载
更新:你见过JavaScript支持重载吗,规范就是这么定义的.如果不是研究Java和Flex对象的Serialization,我也不会注意它. 距离写这篇文章已有8年了,时光匆匆啊,今天整理资料时看 ...
- RHEL查看CPU等机器信息
查看CPU信息: [root@pqsfc072 ~]# cat /proc/cpuinfo 查看CPU型号: [root@pqsfc072 ~]# cat /proc/cpuinfo | grep n ...
- DataTime格式化大全(转载)
//c datetime 格式化 DateTime dt = DateTime.Now; Label1.Text = dt.ToString();//2005-11-5 13:21:25 Label2 ...
- 1296: [SCOI2009]粉刷匠
Description windy有 N 条木板需要被粉刷. 每条木板被分为 M 个格子. 每个格子要被刷成红色或蓝色. windy每次粉刷,只能选择一条木板上一段连续的格子,然后涂上一种颜色. 每个 ...
- .net 泛型运用
DAL层 private DbContext MyContext; public BaseRepository(DbContext context) { MyContext = context; } ...
- linux 安装jdk,tomcat 配置vsftp 远程连接
不知不觉入行也有一年了,这两天在公司上班有空了就自己装了个vmware虚拟机,装了个红帽6.1完全命令行的操作系统,想着搭个公司现在在用的测试环境,没想到中间碰到了很多问题,不过大部分都解决了,现在可 ...
- SQL基础语法等
--1.while循环 declare @sum int declare @i int ) begin set @sum =@sum+@i ) print @i end print @sum --2. ...
- C# 图片盖章功能实现,支持拖拽-旋转-放缩-保存
实现图片盖章功能,在图片上点击,增加“图章”小图片,可以拖拽“图章”到任意位置,也可以点击图章右下角园框,令图片跟着鼠标旋转和放缩. 操作方法:1.点击增加“图章”2.选中移动图标3.点中右下角放缩旋 ...
- iOS开发 multipart 上传多张图片
- (void)uploade:(NSDictionary *)dic pic:(NSArray *)picArray { NSString *hyphens = @"--" ...