private void ReadExcel(string fn) { var templateFile = AppDomain.CurrentDomain.BaseDirectory + "//Template1.txt"; Parser = new ExcelTableParser(fn); var items = Parser.Parse(templateFile); workbook = Parser.Workbook; var categories = items.GroupBy(i => i.TypeCategory).OrderBy(g => g.Key); foreach (var cate in categories) { var node = treeView1.Nodes.Add(cate.Key); node.Tag = cate; node.Nodes.AddRange(cate.Select(c => new TreeNode() { Tag = c, Text = string.Format("{0}({1}:R{2})", c.TypeCategory, c.SheetName, c.RowNum + 1) }).ToArray()); } foreach (var col in VItem.Columns) { gv.Columns.Add(col.Key, col.Key); } }
private DataGridViewRow BindRow(VItem vitem, DataGridViewRow row = null) { if (row == null) { row = new DataGridViewRow(); row.Tag = vitem; row.CreateCells(gv); } for (int i = 0; i < VItem.Columns.Count; i++) { var vcell = vitem.VCells[i]; if (ChangedCells.Contains(vcell)) { row.Cells[i].Style.BackColor = Color.SkyBlue; } var cell = row.Cells[i]; if (gv.Columns[i].Name == "TYPE & SPECIFICATION") { cell.Value = vitem.TypeDescription; cell.ReadOnly = true; } else if (gv.Columns[i].Name == "EQUIP №") { cell.Value = vitem.EquipName; cell.ReadOnly = true; } else { cell.Value = ExcelTableParser.GetCellValue(vitem.VCells[i]); cell.Tag = vitem.VCells[i]; } } return(row); }