金蝶EAS DEP脚本(5)给常用控件添加值改变事件

给常用控件添加事件

一、F7

  • 给F7添加值改变事件
//F7控件增加值改变监听
pluginCtx.getKDBizPromptBox("prmtCompany").addDataChangeListener(function (event){
    com.kingdee.eas.util.client.MsgBox.showInfo("F7值改变事件");
});
  • F7属性带出
// 选择职员后,将职员名称带出
// F7控件增加值改变监听
pluginCtx.getKDBizPromptBox("prmtPerson").addDataChangeListener(function (event){    
	// 获取职员F7信息
	var personInfo = pluginCtx.getKDBizPromptBox("prmtPerson ").getValue();
	var name = personInfo.get("name"));//获取职员名称
	// 将职员名称赋值到名称控件。
	pluginCtx.getKDTextField("txtName").setStringValue(name);
});
  • F7带出关联F7
// 选择付款类型后,根据逻辑将科目F7赋值
// F7控件增加值改变监听
// 付款类型字段监听,当字段改变的时候触发
pluginCtx.getKDBizPromptBox("f7PayBillType").addChangeListener(function(e){
	var payBillTypeInfo = pluginCtx.getKDBizPromptBox("f7PayBillType").getValue();//获取付款类型信息
	// 获取付款类型ID信息用于对照,这里也可以提取其他信息对照,比如名称,编码等
	var id = payBillTypeInfo.get("id");
	if(id == "1234"){
	// 根据ID查询科目,并变更
	var accountViewInfo=com.kingdee.eas.basedata.master.account.AccountViewFactory.getRemoteInstance().getAccountViewCollection("where Id = '//lZ0U0sSfK4Ego95AUafZ2pmCY='");
       if(accountViewInfo.size() > 0){
			// 改变科目字段
       		com.kingdee.eas.util.client.MsgBox.showInfo(accountViewInfo.get(0));
       		pluginCtx.getKDBizPromptBox("prmtOppAccount").setData(accountViewInfo.get(0));
       	}
	}
});

二、CheckBox(复选框)值改变事件

// 获取控件
var chkIsContract= pluginCtx.getKDCheckBox("chkIsContract");
// 添加监听事件
chkIsContract.addChangeListener(function(event){
        com.kingdee.eas.util.client.MsgBox.showInfo("复选框值改变事件");
}); 

三、ComboBox(下拉框)值改变事件

//选择事件
var bizTypeCombo= pluginCtx.getKDComboBox ("bizTypeCombo");
bizTypeCombo.addItemListener (function(event,method){
        com.kingdee.eas.util.client.MsgBox.showInfo("下拉框值改变事件");
});

四、Button(按钮)值改变事件

// Button点击事件
var bjButton= pluginCtx.getKDButton ("bjButton");
bjButton.addActionListener (function(event){
    com.kingdee.eas.util.client.MsgBox.showInfo("按钮值改变事件");
}); 

// 例编码重复验证按钮,选择付款类型后,根据逻辑将科目F7赋值
// 为界面按钮添加点击监听
pluginCtx.getKDButton("kDButton").addActionListener(function(event,methodName){
	// 获取界面编码
	var number = pluginCtx.getKDTextField("txtNumber").getStringValue();
	// 拼接sql
	var sql = "SELECT * FROM T_DEM_PurOrderR WHERE Fnumber = '" + number + "'";
	// 获取数据库工具接口
	var fMIsqlFacade = com.kingdee.eas.fm.common.FMIsqlFacadeFactory.getRemoteInstance();
	var rs = fMIsqlFacade.executeQuery(sql.toString(), null);
	// 结果判断
	if(rs.size() > 0){
		com.kingdee.eas.util.client.MsgBox.showInfo("编码已存在");
	}
});

五、TextFiled (文本框)值改变事件

// 获取文本框对象
var textFiled= pluginCtx.getKDTextFiled ("textFiled");
// 添加监听事件
textFiled.addActionListener(function(event){
    com.kingdee.eas.util.client.MsgBox.showInfo("文本框值改变事件");
}); 

// 添加焦点事件
textFiled.addFocusListener(function(event, methodName){
    com.kingdee.eas.util.client.MsgBox.showInfo("焦点事件");
    // 获得焦点事件
    if(methodName == "focusGained"){
        com.kingdee.eas.util.client.MsgBox.showInfo("获得焦点事件");
    }
    // 失去焦点事件
    if(methodName == "focusLost"){
        com.kingdee.eas.util.client.MsgBox.showInfo("失去焦点事件");
    }
});

// 添加鼠标事件
textFiled.addMouseListener (function(event, methodName){
    com.kingdee.eas.util.client.MsgBox.showInfo("鼠标事件");
    // 鼠标单击事件
    if(methodName == "mouseClicked"){
        com.kingdee.eas.util.client.MsgBox.showInfo("鼠标单击事件");
    }
    // 鼠标按下事件
    if(methodName == "mousePressed"){
        com.kingdee.eas.util.client.MsgBox.showInfo("鼠标按下事件");
    }
    // 鼠标抬起事件
    if(methodName == "mouseReleased"){
        com.kingdee.eas.util.client.MsgBox.showInfo("鼠标抬起事件");
    }
    // 鼠标滑入事件
    if(methodName == "mouseEntered"){
        com.kingdee.eas.util.client.MsgBox.showInfo("鼠标滑入事件");
    }
    // 鼠标滑出事件
    if(methodName == "mouseExited"){
        com.kingdee.eas.util.client.MsgBox.showInfo("鼠标滑出事件");
    }
});

六、Tree(树形控件)值改变事件

//增加tree的选择事件
var accountTree = pluginCtx.getKDTree ("accountTree");
accountTree.addTreeSelectionListener(function(event){
    com.kingdee.eas.util.client.MsgBox.showInfo("树形控件值改变事件");
}); 

七、 TabledPane(页签)改变事件

var tabbedPane = pluginCtx.getTabbedPane("tabbedPane");
// 页签切换事件
tabbedPane.addChangeListener(function(event){
    com.kingdee.eas.util.client.MsgBox.showInfo("页签改变事件");
}); 

八、Table(表格)编辑事件监听

// KDTable增加表格编辑事件监听
pluginCtx.getKDTable("kdtEntrys").addKDTEditListener(function(event,methodName){
	// 开始编辑了
	if(methodName == "editStarted"){
		com.kingdee.eas.util.client.MsgBox.showInfo("开始编辑了");
	}
	// 停止编辑了
	if(methodName == "editStopped"){
		com.kingdee.eas.util.client.MsgBox.showInfo("停止编辑了");
	}
	// 开始编辑中
	if(methodName == "editStarting"){
		com.kingdee.eas.util.client.MsgBox.showInfo("开始编辑中");
	}
	// 停止编辑中
	if(methodName == "editStopping"){
		com.kingdee.eas.util.client.MsgBox.showInfo("停止编辑中");
	}
	// 编辑值改变
	if(methodName == "editValueChanged"){
		com.kingdee.eas.util.client.MsgBox.showInfo("编辑值改变");
	}
});
    
// KDTable增加鼠标事件监听
pluginCtx.getKDTable("kdtEntrys").addKDTMouseListener(function(event,methodName){
	if(event.getClickCount() == 2){
	} else if(event.getClickCount() == 1){
	}
});

// KDTable增加单元格Active事件监听
pluginCtx.getKDTable("kdtEntrys").addKDTActiveCellListener(function(event,methodName){
	var table = (com.kingdee.bos.ctrl.kdf.table.KDTable)
	e.getSource();
	var preLine = event.getPrevRowIndex();
	var line = event.getRowIndex();
});

九、 DatePicker(日期控件)值改变事件

// DatePicker增加表格编辑事件监听
pluginCtx.getKDDatePicker ("pkDatePicker").addDataChangeListener(function (event){
    com.kingdee.eas.util.client.MsgBox.showInfo("日期控件值改变事件");
});

你可能感兴趣的:(金蝶EAS,BOS开发笔记)