NC65参照多选

NC65参照多选

NC65参照多选实现的困难在于字段选择的值的显示,以及数据库存储数据

(1)第一步:修改AbstractRefModel类 public Object getValue(String field)方法

public Object getValue(String field) {
	Object[] values = getValues(field);

	Object value = null;
	String strValue = "";
	if (values != null && values.length > 1) {
		for (Object pkobj : values) {
			strValue += pkobj + ",";
		}
		strValue = strValue.substring(0, strValue.lastIndexOf(","));
		value = strValue;
	} else if(values != null && values.length > 0){
		value = values[0];
	}

	return value;
}

(2)第二步:修改BatchMatchContext 类 public void executeBatch()方法

/**
 * 批取数据,注意几种特殊的参照,要特殊处理 1、要界面处理的参照 "日历", "文件", "颜色", "计算器", "文本框"
 * 2、要特殊处理集团数据, "公司目录(集团)", "公司目录(集团)S", "权限公司目录(集团)" 3、从临时表取数 会计科目多版本
 * 
 */
public void executeBatch() {
	UIRefPane ref = null;
	Object pkValue = null;
	String matchSql = null;

	List<String> listSql = new ArrayList<String>();
	List<UIRefPane> listRef = new ArrayList<UIRefPane>();
	// 常用数据参照
	List<String> listBigDataSql = new ArrayList<String>();
	List<UIRefPane> listBigDataRef = new ArrayList<UIRefPane>();
	List<String[]> listBigDataPkvalue = new ArrayList<String[]>();

	String dataSourceName = null;
	for (int i = 0; i < nCount; i++) {

		ref = (UIRefPane) htUIRePaneTable.get(Integer.valueOf(i));

		AbstractRefModel model = ref.getRefModel();

		pkValue = htPK.get(Integer.valueOf(i));

		// 要界面处理的参照 "日历", "文件", "颜色", "计算器", "文本框"
		if (!ref.isBatchData()) {
			ref.setPK(pkValue);
			continue;
		}
		// 基本条件要满足;
		if (model == null || pkValue
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值