private List <List <string> > __CrossDb(List <List <string> > rows, CrossDbParam param) { //新空间 var temp = new List <List <string> >(); rows.ForEach(a => { temp.Add(___CrossDb(a, param)); }); return(temp); }
private List <string> ___CrossDb(List <string> row, CrossDbParam param) { //新空间 var temp = new List <string>(); temp.AddRange(row); //如果OutIndex在ParamIndex的前面,则没有数据列,但是配置是按照有数据列进行配置的,因此自动ParamIndex-1 if (param.OutIndex < param.ParamIndex) { param.ParamIndex -= 1; } var newCol = param.Func(row[param.ParamIndex]); if (param.OutIndex == -1) { temp.Add(newCol); ////同步标题 //if (_title.Count < row.Count) //{ // _title.Add(param.OutTitle); //} } else { if (param.OutIndex >= temp.Count) { throw new Exception("OutIndex必须小于" + temp.Count); } temp.Insert(param.OutIndex, newCol); ////同步标题 //if (_title.Count < row.Count) //{ // _title.Insert(param.OutIndex, param.OutTitle); //} } return(temp); }