public List <List <String> > bufferingRow(List <String> row) { if (lineNumber == 0 && flag.HasFlag(Flags.Header)) { rowHeader(row); return(null); } lineNumber++; for (int i = infoList.Count; i < row.Count; i++) { infoList.Add(new ColumnInformation()); } for (int i = 0; i < row.Count; i++) { String column = row[i]; ColumnInformation info = infoList[i]; if (lineNumber == 1 && flag.HasFlag(Flags.Header)) { info.header = column; continue; } if (flag.HasFlag(Flags.MaxWidth)) { info.maxWidth = Math.Max(info.maxWidth, column.Length); } if (flag.HasFlag(Flags.Nullable) || flag.HasFlag(Flags.MinWidth)) { info.minWidth = Math.Min(info.minWidth, column.Length); } } if (lineNumber >= limit) { streamInformation.active = false; } return(null); }
public List <String> rowHeader(List <String> header) { lineNumber++; for (int i = infoList.Count; i < header.Count; i++) { infoList.Add(new ColumnInformation()); } for (int i = 0; i < header.Count; i++) { String column = header[i]; ColumnInformation info = infoList[i]; if (flag.HasFlag(Flags.Header)) { info.header = column; } } return(null); }