【发布时间】:2016-05-21 00:40:07
【问题描述】:
我有一个从数据库填充的 TreeView。 DB中的表有这样的字段:Id,ParentId,Name。
ParentId - 保存放置它的 id 元素。 (如果是独立元素,则为 0)。
当用户输入要删除的节点名称时,我需要删除该节点中的所有subChild。
如何删除所有节点元素而不仅仅是选中?
也许是递归?在需要进一步删除的元素数组中记录id,然后循环删除全部?
我尝试删除元素:
public void findChild(int selectedId)
{
DataSet PrSet = PDataset("SELECT Id, ParentID FROM companies"); //get data from database
foreach (DataRow dr in PrSet.Tables[0].Rows)
{
if (int.Parse(dr["ParentID"].ToString()) == SelectedId)
{
index.Add(int.Parse(dr["Id"].ToString())); //add id to list
findChild(int.Parse(dr["Id"].ToString()));
}
}
}
例如,在图片中,我需要删除 Avaya 站点。即需要移除元素 [2, 3, 4, 5, Comp3, Avaya]。我还需要从数据库中删除这些元素。
【问题讨论】:
-
抱歉我的英语不好。这不是我的母语。