private void InitTree(TreeNodeCollection Nds, string parentId) //初始化目录树
{
DataView dv = new DataView(new CpxzDAO().GetAll());
TreeNode tmpNd;
string intId;
dv.RowFilter = "sjbh='" + parentId + "'";
foreach (DataRowView drv in dv)
{
tmpNd = new TreeNode();
tmpNd.Tag = drv["cpid"].ToString();
tmpNd.Text = drv["cpmc"].ToString();
Nds.Add(tmpNd);
intId = drv["sjbh"].ToString();
InitTree(tmpNd.Nodes, tmpNd.Tag.ToString());
}
}
private void SetAll(TreeNode node, bool check) //选中或取消所有子结点
{
foreach (TreeNode n in node.Nodes)
{
n.Checked = check;
SetAll(n, check);
}
}
//【选择一个节点其所有父辈被选中;取消选中的某节点,如果其兄弟节点还有被选中的,其父节点就都被选中,否则就取消父节点的选中状态
public void selectParent(TreeNode _treeNode)
{
bool bParent = false;
if (_treeNode.Parent is TreeNode)
{
TreeNode parentTreeNode = (TreeNode)_treeNode.Parent;
foreach (TreeNode tempTreeNode in parentTreeNode.Nodes)
{
if (tempTreeNode.Checked == true)
{
bParent = true;
break;
}
}
parentTreeNode.Checked = bParent;
selectParent(parentTreeNode);
}
}