Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }