用友nc65 uap开发表体编辑前事件和表体整行不可编辑功能
1.场景:针对某一个页签中的某几行不可编辑。此处对于是原合同的子页签行不允许编辑。
2.思路:编辑前事件会返回一个值,利用返回值来控制是否可以编辑
3.代码:
package nc.ui.fdc_pr.h303113517.ace.handler;
import nc.ui.pub.bill.BillCardPanel;
import nc.ui.pubapp.uif2app.event.card.CardBodyAfterEditEvent;
import nc.ui.pubapp.uif2app.event.card.CardBodyBeforeEditEvent;
import nc.vo.pub.lang.UFBoolean;
import nc.vo.pub.lang.UFDouble;
/**
*
* @author: zenglong
* @ClassName: RentCardBodyBeforeEditEventHandler
* @Description: 表体编辑前事件
* @date: 2016年12月22日
*/
public class RentCardBodyBeforeEditEventHandler extends
nc.ui.fdc_pr.h303113510.ace.handler.AceCardBodyBeforeEditEventHandler {
public void handleAppEvent(CardBodyBeforeEditEvent e) {
BillCardPanel cardPanel = e.getBillCardPanel();
String tableCode = cardPanel.getCurrentBodyTableCode();
int row = e.getRow();
// 租金标准页签
if (tableCode.equals("id_standardpact")) {
// 专门字段标识源合同
Boolean status = (Boolean) cardPanel.getBillModel(
"id_standardpact").getValueObjectAt(row, "reserve5");
if (status!=null&&status.equals(true)) {
e.setReturnValue(false);//返回false 不可编辑
}
}
e.setReturnValue(true);
}
}