Заполнение TreeView - C#
Формулировка задачи:
Приведенный ниже код используется у меня для заполнения treeView. Как мне реализовать, что бы каждый элемент дерева хранил в себе информацию не визуально не видимую (см. запрос: O.ID и ParentID), что бы я ее мог считать.
SelectStr = "SELECT O.ID, L.PARENTID AS PARENT, O.ITEMNAME AS NAME " + "FROM OBJECTS O " + "INNER JOIN OBJTYPE OT ON (O.TYPEID = OT.ID) " + "LEFT OUTER JOIN LINKS L ON (O.ID = L.CHILDID) " + "WHERE OT.CODE = 'Country' OR OT.CODE = 'Area'"; CreateTree(SelectStr);
public void CreateTree(string QueryStr) { tvMain.Nodes.Clear(); TreeTable.Clear(); DBcmd.CommandText = QueryStr; DBTrns = DBcmd.Connection.BeginTransaction(IsolationLevel.ReadCommitted); DBcmd.Transaction = DBTrns; try { if (DBcmd.Connection.State == ConnectionState.Open) { TreeTable.Clear(); FbDataReader reader = DBcmd.ExecuteReader(); TreeTable.Load(reader); CreateTreeNode(tvMain.Nodes, String.Empty); DBTrns.Commit(); } else MessageBox.Show("Нет соединения!"); } catch { DBTrns.Rollback(); } }
private void CreateTreeNode(TreeNodeCollection parentNodes, String parentKey) { foreach (DataRow row in TreeTable.Rows) { if (row[1].ToString() == parentKey) { TreeNode node = new TreeNode(row[2].ToString()); parentNodes.Add(node); this.CreateTreeNode(node.Nodes, row[0].ToString()); } } }
Решение задачи: «Заполнение TreeView»
textual
Листинг программы
node.Tag = row[3].ToString();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д