删除从数据库中填充的 TreeView 中的节点 ASP.NET
Delete nodes in TreeView which is filled from the database ASP.NET
我有一个从数据库中填充的 TreeView。 DB中的table有这样的字段:Id,ParentId,Name。
ParentId - 保存放置它的 id 元素。 (如果是独立元素则为 0)。
当用户输入要删除的节点名称时,我需要删除该节点中的所有subChild。
如何删除所有节点元素而不仅仅是选中?
也许递归?将需要进一步删除的元素记录在数组中,然后循环删除所有?
我尝试删除元素:
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]。我还需要从数据库中删除这些元素。
如果您指的是应用程序,则只需重置树查看器即可从数据库中获取数据。
我有一个从数据库中填充的 TreeView。 DB中的table有这样的字段:Id,ParentId,Name。
ParentId - 保存放置它的 id 元素。 (如果是独立元素则为 0)。
当用户输入要删除的节点名称时,我需要删除该节点中的所有subChild。
如何删除所有节点元素而不仅仅是选中?
也许递归?将需要进一步删除的元素记录在数组中,然后循环删除所有?
我尝试删除元素:
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]。我还需要从数据库中删除这些元素。
如果您指的是应用程序,则只需重置树查看器即可从数据库中获取数据。