110,538
社区成员
发帖
与我相关
我的任务
分享
#region 读取权限数据,设置已选取节点的CheckBox为True
public static void SelCheckNodes(TreeView tree, string[] jsqx)
{
//SetNodesChkFalse(tree);
foreach (TreeNode tn in tree.Nodes)
{
foreach (string nodevalue in jsqx)
{
if (nodevalue == tn.Value) { tn.Checked = true; }
}
SelCheckChildNodes(tn, jsqx);
}
}
private static void SelCheckChildNodes(TreeNode node, string[] jsqx)
{
if (node.ChildNodes.Count > 0)
{
foreach (TreeNode tn in node.ChildNodes)
{
foreach (string nodevalue in jsqx)
{
if (nodevalue == tn.Value) { tn.Checked = true; }
}
SelCheckChildNodes(tn, jsqx);
}
}
}
#endregion
js:
控件:
<div style="background: #FFFFFF;">
<asp:TreeView ID="tvLeft" runat="server" ShowExpandCollapse="true" ExpandDepth="1" ShowLines="True">
</asp:TreeView>
</div>
code:
TreeNode ParentNode;
datatable dt = xxx;//绑定数据
for()//父节点循环
{
node.Value = Value;
node.Text = Text;
node.ShowCheckBox = true;
for()//子节点循环
{
TreeNode node = new TreeNode();
node.Value = Value;
node.Text = Text;
node.ShowCheckBox = true;
if(ischeck)//如果有权限
{
node.Checked = true;
}
ParentNode.ChildNodes.Add(node );
}
tvLeft.Nodes.Add(ParentNode);//把节点绑定到树中
}
//判断节点是否选中,遍历树时看node.Checked = true;还是false就可以了
//点击使权限变成false可以添加个保存按钮,点击时改变数据库值
//代码仅供参考,没有验证,希望对lz有用,呵呵