public static void getCsvHeaders(TreeNodeMouseClickEventArgs e) { try { String vNodeTag = e.Node.Parent.Text + '.' + e.Node.Text; FilesAndProperties vCurrObjProp = In2SqlSvcCsv.vFileObjProp.Find(item => item.ObjName == vNodeTag); if (vCurrObjProp.objColumns == null) { In2SqlSvcCsv.vFileObjProp.AddRange(In2SqlSvcCsv.getCsvFileColumn(e.Node.Parent.Text, e.Node.Text)); vCurrObjProp = In2SqlSvcCsv.vFileObjProp.Find(item => item.ObjName == vNodeTag); } if (vCurrObjProp.objColumns != null) { if (vCurrObjProp.objColumns.Count > 0) { e.Node.Nodes.Clear(); foreach (var vCurrColumn in vCurrObjProp.objColumns) { TreeNode vNodeColumn = new TreeNode(vCurrColumn.ToString(), 14, 14); vNodeColumn.Tag = vNodeTag + '.' + vCurrColumn + "_clm"; e.Node.Nodes.Add(vNodeColumn); } } } } catch (Exception er) { In2SqlSvcTool.ExpHandler(er, "getColumnsandIndexes "); } }
public static IEnumerable <FilesAndProperties> getCsvFileColumn(string vCurrFolderName, string vObjName) { FolderProperties vCurrFolderN = vFolderList.Find(item => item.FolderName == vCurrFolderName); FilesAndProperties vObject = new FilesAndProperties(); vObject.ObjName = vCurrFolderName + '.' + vObjName; vObject.objColumns = new List <string>(); using (TextFieldParser csvReader = new TextFieldParser(vCurrFolderN.Path + "\\" + vObjName)) { csvReader.SetDelimiters(new string[] { "," }); csvReader.HasFieldsEnclosedInQuotes = true; string[] colFields = csvReader.ReadFields(); foreach (string column in colFields) { vObject.objColumns.Add(column.ToString().Replace('"', ' ').Trim()); } } yield return(vObject); }