نوشته شده توسط
شهابسلطانی
فقط یه نکته داداش
وقتی زیر زیر مجموعه جدید برای فرزند تعریف میکنم
توی treeview نمیاره
یعنی فقط پدر و فرزند رو نشون میده و نوه رو نشون نمیده
نمیدونستم در جدول تون نوه و نتیجه هم دارین :
SqlConnection _cn = new SqlConnection(DBConnectioin.conStr);
SqlCommand cmd = new SqlCommand("SELECT * FROM _pro ", _cn);
_cn.Open();
var reader = cmd.ExecuteReader();
var childItems = new List<KeyValuePair<TreeNode, string>>();
while (reader.Read())
{
var node = new TreeNode(reader["_proName"].ToString().Trim());
node.Name = reader["_proid"].ToString();
if (reader["_proParent"] == DBNull.Value)
{
TV1.Nodes.Add(node);
}
else
{
childItems.Add(new KeyValuePair<TreeNode, string>(node, reader["_proParent"].ToString()));
}
}
bool parentFound;
do
{
parentFound = false;
for (var i = 0; i < childItems.Count; i++)
{
var parents = TV1.Nodes.Find(childItems[i].Value, true);
if (parents.Length > 0)
{
parents[0].Nodes.Add(childItems[i].Key);
childItems.RemoveAt(i);
parentFound = true;
i--;
}
}
} while (parentFound);
_cn.Close();