/// <summary>
/// 加载父结点
/// </summary>
private void LoadFirstNodes()
{
BLLPResource resource = new BLLPResource();
List<ModPResource> firstNodeList = resource.GetFirstNodes();
if (firstNodeList != null && firstNodeList.Count > 0)
{
foreach (ModPResource r in firstNodeList)
{
TreeNode treeNode = new TreeNode();
treeNode.Name = r.Resourceid.ToString();
treeNode.Text = r.MenuText;
LoadSubNodes(treeNode);
this.tvPower.Nodes.Add(treeNode);
}
}
}
/// <summary>
/// 加载子结点
/// </summary>
/// <param name="node"></param>
private void LoadSubNodes(TreeNode node)
{
if (node != null )
{
BLLPResource resource = new BLLPResource();
string menuParent = node.Name;
List<ModPResource> subNodeList = resource.GetSubNodes(menuParent);
foreach (ModPResource r in subNodeList)
{
TreeNode subNode = new TreeNode();
subNode.Text = r.MenuText;
subNode.Name = r.Resourceid.ToString();
LoadSubNodes(subNode);
node.Nodes.Add(subNode);
}
}
}
- /// <summary>
- /// 设置所有父节点为未勾选
- /// </summary>
- /// <param name="node"></param>
- private void ClearFirstChecked()
- {
- foreach (TreeNode node in tvPower.Nodes)
- {
- node.Checked = false;
- ClearSubChecked(node);
- }
- }
- /// <summary>
- /// 设置所有子节点为未勾选
- /// </summary>
- /// <param name="node"></param>
- private void ClearSubChecked(TreeNode node)
- {
- if (node.Nodes != null)
- {
- foreach (TreeNode subNode in node.Nodes)
- {
- subNode.Checked = false;
- ClearSubChecked(subNode);
- }
- }
- }
- /// <summary>
- /// 设置父结点Checked
- /// </summary>
- private void SetFirstChecked(string roleid)
- {
- //取消所有勾选项
- ClearFirstChecked();
- prole_presource = new BLLPRole_PResource();
- list= prole_presource.GetAll(roleid);
- if (list != null && list.Count > 0)
- {
- foreach (TreeNode node in this.tvPower.Nodes)
- {
- //此节点是否要被选中的中间变量
- //如果此节点在list中存在就设置为true
- bool isCheck = false;
- foreach (ModPRole_PResource mod in list)
- {
- if (node.Name == mod.Resourceid.ToString())
- {
- isCheck = true;
- SetSubChecked(node);
- break;
- }
- }
- node.Checked = isCheck;
- }
- }
- }
- /// <summary>
- /// 设置子结点Checked
- /// </summary>
- private void SetSubChecked(TreeNode node)
- {
- if (node != null && node.Nodes.Count > 0)
- {
- foreach (TreeNode subNode in node.Nodes)
- {
- //此节点是否要被选中的中间变量
- //如果此节点在list中存在就设置为true
- bool isCheck=false;
- foreach (ModPRole_PResource mod in list)
- {
- if (subNode.Name == mod.Resourceid.ToString())
- {
- isCheck = true;
- SetSubChecked(subNode);
- break;
- }
- }
- subNode.Checked = isCheck;
- }
- }
- }