我有一个从数据库中填充的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]。我还需要从数据库中删除这些元素。
答案 0 :(得分:0)
如果您要引用该应用程序,则只需重置树查看器以从数据库中获取数据。