web控件使用--多选下拉框原创
金蝶云社区-余路生
余路生
2人赞赏了该文章 1,818次浏览 未经作者许可,禁止转载编辑于2022年02月16日 21:07:10

简介:可以多选的下拉列表,如下图

image.png


关键词:多选下拉框、多选下拉列表


相关资料:https://waf2.kingdee.com:6999/waf2help/webviews/webframework/ctrls/select/multiSelect

https://waf2.kingdee.com:6999/waf2help/samples/F7/mulF7AssignValues


示例1:将下拉框改为多选下拉框,需要添加一个文本字段用于存储多选下拉框的选项值,方法如下:

1.1 添加多选下拉框控件,不用绑定属性


0.png


1.png

1.2 添加一个文本字段,用于存储多选下拉框选择的值,控件设置隐藏

2.png


1.3 添加保存、提交前事件

3.png


1.4 在单据保存、提交前将多选下拉框的选项值赋值给文本字段保存

4.png

脚本:

submitBefore:function(e){
          //从多选下拉框中取值赋给隐藏的文本字段
         var payWayItems= waf("#payWay").wafMultiSelect("getValue");
         waf("#payWayItems").wafText("setValue",payWayItems);
 }


1.5 添加后台插入功能

5.png


1.6 在页面初始化时,把文本字段的值返回到前台,给多选下拉框赋值

6.png

脚本:

package com.kingdee.eas.custom;

import javax.servlet.http.HttpServletRequest;
import org.springframework.ui.ModelMap;
import com.kingdee.bos.BOSException;
import com.kingdee.bos.webframework.dynamic.handler.AbstractWebEventHandler;
import com.kingdee.bos.webframework.dynamic.application.WebSymbolConstant;
import com.kingdee.bos.webframework.dynamic.event.view.IWebInitDataEventHandler;
import com.kingdee.bos.webframework.dynamic.event.view.WebInitDataEvent;
import com.kingdee.bos.webframework.exception.WafException;
import com.kingdee.eas.purchase.PurchaseOrderInfo;

public class PurchaseInitDataHandler extends AbstractWebEventHandler implements IWebInitDataEventHandler {

	@Override
	public void onRequest(WebInitDataEvent event)
			throws WafException, BOSException {
		// 判断是否为新增页面,是则返回。
		HttpServletRequest request = event.getReqeustContext()
				.getHttpServletRequest();

		PurchaseOrderInfo info = (PurchaseOrderInfo) event.getReqeustContext()
				.get(ModelMap.class).get(WebSymbolConstant.INFO);
		
		//从文本字段中取值返回给前台,给多选下拉框赋值
		String PayWayItems = info.getPayWayItems();
		event.getInitData().put("payWayItems", PayWayItems);
	}
}


1.7 添加页面打开后事件

7.png


1.8 从后台取值,给多选下拉框赋值

8.png

脚本:

pageOnLoadAfter:function(e){
          //从后台取保存的值
          var payWayItems=_self.getPageInitData().payWayItems;
          //给多选下拉框赋值
          if(payWayItems){
         	  waf("#payWay").wafMultiSelect("setValue",payWayItems);
          }
  }


完成:

9.png


图标赞 2
2人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0