public OrgCharNode BuildNodeTree() { DataRow[] drs = Table.Select(string.Format("{0}='{1}'", ParentKeyFileName, 0)); if (ControlBuilder == null) { ControlBuilder = (IOrgCharControlBuilder)Activator.CreateInstance(this.BuilderType); } IOrgCharNodeControl obj = ControlBuilder.Build(drs[0]); this.Container.Controls.Add((Control)obj); obj.Node_X = -100; obj.NodeHeight = OrgCharGenerator.NODE_HEIGHT; obj.NodeWidth = OrgCharGenerator.NODE_WIDTH; OrgCharNode rootn = new OrgCharNode(obj); obj.Node = rootn; BuildNodeTree(drs[0], rootn); return(rootn); }
private void BuildNodeTree(DataRow r, OrgCharNode pn) { DataRow[] drs = Table.Select(string.Format("{0}='{1}'", ParentKeyFileName, r[KeyFileName])); foreach (DataRow d in drs) { if (ControlBuilder == null) { ControlBuilder = (IOrgCharControlBuilder)Activator.CreateInstance(this.BuilderType); } IOrgCharNodeControl obj = ControlBuilder.Build(d); this.Container.Controls.Add((Control)obj); obj.Node_X = -100; obj.NodeHeight = OrgCharGenerator.NODE_HEIGHT; obj.NodeWidth = OrgCharGenerator.NODE_WIDTH; OrgCharNode n = new OrgCharNode(obj); obj.Node = n; pn.AddChild(n); BuildNodeTree(d, n); } }