下拉数据集正确分配含逗号数据
需求背景:
客户的数据字段中元数据中包含“,”如:“普通,特殊” 为客户的一个字段数据。这样的情况在我们设置为下拉数据集的时候,就会被其默认的识别方式分成为两条数据出现在下拉数据集。导致出现这样的原因是下拉数据集的数据是以“,”方式隔开的方式拼凑传入而后又按“,”分解开来。
下面分别为 客户现象图 和 最终客户需求图
解决思路:
下拉数据集的拼凑方式我们是无法去更改的,那我们只能将注意力转移到客户的数据格式上来,在数据拼凑传入下拉数据集之前修改客户数据格式,比如用“|”的特殊符号来替换客户数据中的“,”后再按我们的方式来拼凑数据传入到我们的下拉数据集中。在后期的数据中如果要与数据库相交互的话 如:参数模板参数查询,数据更新入库 我们可以借用我们的字符函数 rplc()将数据还原为原来的格式。
操作步骤:
1. 自定义数据集 对原先数据集移花接木做下替换处理
public class MyDataSet implements IDataSetFactory {
public DataSet createDataSet(Context ctx, DataSetConfig dsc, boolean isinput) {
//获取系统数据源
DataSet dateSet = ctx.getDataSet(“ADDRESS”);//取数据集
dateSet.setDataSetName(“ds1″);
int rowNum = dateSet.getRowCount() ;
int colNum = dateSet.getColNo(“SKILLQUEUEDESC”) ; //按列名取列号
String dateValue =”";
for(int i=1;i<=rowNum;i++){
dateValue=(String)dateSet.getData(i,colNum);
if (dateValue==null||dateValue.equals(“”))
dateValue =”";
dateValue=dateValue.replace(“,”,”|”);
dateSet.setData(i,colNum,dateValue);
}
return dateSet;
}
}
设定下拉数据集
在填报属性中设定下拉数据集中 选择 自定义数据集
后期数据入库交互还原处理
借用我们的字符串函数 rplc()还原客户原先数据格式 与数据库进行交互。