private void treeEntities_AfterSelect(object sender, TreeViewEventArgs e) { TTreeNodeData nodeData = e.Node.Tag as TTreeNodeData; string entityName = nodeData.EntityName; long entityKey = nodeData.EntityKey; DataTable data = entityRepository.GetEntityDetailsByKey(entityName, entityKey); this.SuspendLayout(); // clear controls for (int i = 0; i < resultLayoutPanel.Controls.Count; i++) { DataGridView d = resultLayoutPanel.Controls[0] as DataGridView; d.Dispose(); } resultLayoutPanel.Controls.Clear(); // create new result grids const int gridCount = 2; resultLayoutPanel.RowStyles.Clear(); resultLayoutPanel.ColumnCount = 1; resultLayoutPanel.Dock = DockStyle.Fill; resultLayoutPanel.RowCount = gridCount; for (int i = 0; i < gridCount; i++) { var grid = new ComponentFactory.Krypton.Toolkit.KryptonDataGridView(); grid.Dock = DockStyle.Fill; grid.Location = new Point(0, 0); grid.Name = "gridEntityValues" + i.ToString(); grid.TabIndex = 0; grid.AutoGenerateColumns = true; grid.DataSource = data; RowStyle rs; if (i == 0) { rs = new RowStyle(SizeType.AutoSize); } else { rs = new RowStyle(SizeType.Percent, 30); } resultLayoutPanel.RowStyles.Add(rs); resultLayoutPanel.Controls.Add(grid); } this.ResumeLayout(); }
private void FindEntityByTextBoxString() { treeEntities.Nodes.Clear(); string strFind = textboxSearchString.Text; List <TSearchEntityResult> findResult = entityRepository.SearchEntitiesByString(strFind); foreach (var elt in findResult) { string strValue = $"{elt.FoundColumn} = {elt.StrValue} [{elt.Key}]"; TreeNode node = new TreeNode(strValue); TTreeNodeData nodeData = new TTreeNodeData() { EntityName = elt.EntityName, EntityKey = elt.Key, Details = elt.FoundColumn }; node.Tag = nodeData; node.Nodes.Add("to do"); treeEntities.Nodes.Add(node); } }
private void treeEntities_AfterExpand(object sender, TreeViewEventArgs e) { var nodeData = e.Node.Tag as TTreeNodeData; var searchResult = entityRepository.SearchChildEntitiesByParentKey(nodeData.EntityName, nodeData.EntityKey); // Заполнение открываемого уровня e.Node.Nodes.Clear(); foreach (var elt in searchResult) { string strValue = $"{elt.FoundColumn} = {elt.Key}"; TreeNode newNode = new TreeNode(strValue); TTreeNodeData newNodeData = new TTreeNodeData() { EntityName = elt.EntityName, EntityKey = elt.Key, Details = elt.FoundColumn }; newNode.Tag = newNodeData; newNode.Nodes.Add("to do"); e.Node.Nodes.Add(newNode); } }