金蝶EAS,代码实现编辑界面EditUI数据不允许修改、删除

本文介绍了一种防止已启用数据被修改或删除的方法。通过重写编辑界面和序时簿界面中的修改、删除操作,确保处于特定状态的数据无法被更改,同时提供了警告并中断程序的实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

业务场景:特定状态下的数据不允许修改或删除。在编辑界面上的话,需要重写修改、删除操作对应的action。

通常还需在序时簿界面也重写修改、删除功能。


/**
 * 已启用数据不允许修改
 */
public void actionEdit_actionPerformed(ActionEvent e) throws Exception {
	
	if(editData.getIsUsed().equals(YesOrNoEnum.YES)){
		Utils.log(editData, DataTypeEnum.REPORTING, false, "修改数据失败!", "已启用数据不允许修改!");
		Utils.warning(this, "已启用数据不允许修改!");
	}
	super.actionEdit_actionPerformed(e);
	
}

/**
 * 已启用数据不允许删除
 */
public void actionRemove_actionPerformed(ActionEvent e) throws Exception {
	
	if(editData.getIsUsed().equals(YesOrNoEnum.YES)){
		Utils.log(editData, DataTypeEnum.REPORTING, false, "删除数据失败!", "已启用数据不允许删除!");
		Utils.warning(this, "已启用数据不允许删除!");
	}
	if(Utils.hasQuoted(editData)){
		Utils.log(editData, DataTypeEnum.REPORTING, false, "删除数据失败!", "被引用数据不允许删除!");
		Utils.warning(this, "被引用数据不允许删除!");
	}
	super.actionRemove_actionPerformed(e);
	
}


工具类中,提示并中断程序的代码片段:

/**
 * 警告并中断程序,用于前端
 * @param comp 父控件
 * @param msg 警告消息
 * 
 */
public static void warning(Component comp, String msg){
	MsgBox.showWarning(comp, msg);
	SysUtil.abort();
}



金蝶EAS Bos客户端开发中,实现列表界面编辑界面数据传递和组织转换是常见需求之一。以下是一些关键的技术细节和操作步骤: 参考资源链接:[金蝶EAS Bos 客户端开发常见代码与功能详解](https://wenku.youkuaiyun.com/doc/5ypo9j0cr5?spm=1055.2569.3001.10343) 首先,列表界面编辑界面数据传递主要依赖于单据主键的传递机制。在列表界面中,需要获取到需要编辑的单据的主键信息。在单据被选中后,通常会触发一个事件或函数,此事件或函数中应包含将选中单据的主键信息传递到编辑界面的逻辑。 例如,可以在列表界面的行选择事件中添加以下代码片段: ```java // 假设是行选择事件,这里仅为示例 String documentId = row.getDocumentId(); // 获取选中行的单据ID if (documentId != null) { // 通过主键信息跳转到编辑界面 this.goEditPage(documentId); } ``` 在编辑界面中,需要在页面加载或初始化时获取这个传递过来的单据ID,并通过此ID查询数据库获取详细信息进行展示: ```java // 假设是编辑界面的初始化方法 public void init() { String documentId = this.getDocumentId(); // 获取传递过来的单据ID if (documentId != null) { // 根据单据ID查询数据库获取详细信息 Document document = this.queryDocumentById(documentId); // 将查询结果填充到界面上 this.fillDocumentDataToUI(document); } } ``` 至于组织转换,通常需要根据公司本位币或组织视图的同,进行相应的数据处理。可以在获取菜单参数时,根据当前登录用户的组织信息和本位币信息,对数据进行转换: ```java // 获取当前用户组织信息 OrganizationInfo orgInfo = this.getOrganizationInfo(); // 获取公司本位币 String baseCurrency = orgInfo.getBaseCurrency(); // 获取公司行政组织代码 String orgCode = orgInfo.getOrganizationCode(); // 根据本位币和组织代码进行数据转换逻辑 if (orgInfo != null && baseCurrency != null && orgCode != null) { // 对货币类型数据进行转换处理 CurrencyConversion conversion = CurrencyConversionFactory.getCurrencyConversion(orgCode); conversion.convertCurrency(data, baseCurrency); } ``` 以上代码仅为示例,具体实现可能需要根据业务需求和数据库结构进行相应的调整。为了深入理解这些操作以及开发过程中可能遇到的其他相关问题,建议参阅《金蝶EAS Bos 客户端开发常见代码与功能详解》。这本书提供了丰富的代码示例和详细的操作指导,非常适合想要深入了解金蝶EAS Bos 客户端开发的技术人员。 参考资源链接:[金蝶EAS Bos 客户端开发常见代码与功能详解](https://wenku.youkuaiyun.com/doc/5ypo9j0cr5?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值