天天看點

金蝶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("日期控件值改變事件");
});
           

繼續閱讀