[ZK框架]将Listbox伪装成下拉框

第一种情况:从某张表中获取字段,动态加载Listbox。即Listbox中的内容为该字段下内容,可随表格变化动态变化。

Java代码:

		//初始化Listbox
		private void initListbox() {
			//HQL语言,从类User对应的t_user表中获取字段name,即从用户表中查找用户类型为VIP的用户记录
			String hql = "from User where type='VIP'";
			//用userService中的getInfos方法获取记录的集合,用List存储
			List<User> users = userService.getInfos(hql);
			List<String> strs = new ArrayList<String>();
			if(users!=null &&users.size()>0){
				for (User user : users) {//遍历users,即查找出的记录
					strs.add(users.getName());//将用户名存入List<String>
				}
			}
			myListbox.setModel(new ListModelList(strs));//将获取的所有名字都存入Listbox
			// 设置默认显示内容
			for (int i = 0; i < strs.size(); i++) {
				Listitem li = new Listitem(strs.get(i));//为每个名字都声明一个Listitem
				li.setParent(myListbox);
				if (test.getUserName() == null) {//当前类的实例test
					if (i == 0) {// 若当前状态为新增,设置默认显示值为第一个用户
						myListbox.setSelectedItem(li);//设置显示下标为0的用户
					}
				} else {// 若当前状态为修改
					if (test.getUserName().equals(strs.get(i))) {
						myListbox.setSelectedItem(li);//设置显示test的用户名
					}
				}
			}
		}

第二种情况:在ZK中对Listbox声明并定义完全,不可以在Java代码中对显示的内容的条目数或内容进行修改。

ZK代码:

		<listbox id="typeList" mold="select" width="185px" height="25px"
			style="float:left;margin-left:5px;margin-top:0px">
			<listitem value="门诊" label="门诊" selected="true" />
			<listitem value="住院" label="住院" />
		</listbox>

Java代码:

	//初始化typeList
	private void setType() {
		List<Listitem> items=	typeList.getItems();//获取typeList中所有Listitem,存入List<Listitem> 
		for(Listitem item:items){//遍历List<Listitem>,即typeList中所有条目
			if(dept.getType().toString().equals(item.getValue().toString())){//若当前类的实例dept中的type字段的内容与条目中某个值相同
				typeList.setSelectedItem(item);//设置该相同项为当前显示项
			}//若不相同,则默认显示控件中设置的“门诊”
		}
	}

1.mold="select“,listbox模式为选择。 
2.width="185px",listbox宽度为185px。
3.height="25px",listbox高度为25px。
4.style="float:left;margin-left:5px;margin-top:0px",listbox风格为左对齐,外边框距离左边控件外边框5px,外边框距离上方控件外边框0px。
5.value="门诊",listitem属性为门诊。
6.label="门诊",listitem显示内容为门诊。
7.selected="true",listitem默认显示“门诊”。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值