|M| 如何将TreeView中的ChildNodes添定到他的Node中,而且保留他的功能
上面这段代码可以正常绑定
--------------
前台
前台资料
查看
明细
删除
添加
后台
-------------
但这样不是我想要的样式,怎么把他绑定起
--------------
前台
前台资料
查看(明细 删除 添加)
后台
------------
这个样子
当然不是只有text
也要像节点一样,前面有一个checkbox
然后可以勾选
然后在TreeView后面有一个保存按钮
点击保存遍历TreeView的所有checkbox
保存到数据库
--------------------------------
<asp:TreeView ID= "tvFuns " runat= "server " > </asp:TreeView>
---------------------------------
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.Add( "ID ", typeof(Int32));
dt.Columns.Add( "Name ", typeof(String));
dt.Columns.Add( "ParentNode ", typeof(Int32));
dt.Columns.Add( "CommandName ", typeof(Int32));
dt.Columns.Add( "IsCommand ", typeof(Int32));
dt.Rows.Add(1, "前台 ", 0, 1, 0);
dt.Rows.Add(2, "前台资料 ", 1, 2, 0);
dt.Rows.Add(3, "查看 ", 2, 3, 0);
dt.Rows.Add(4, "明细 ", 3, 4, 1);
dt.Rows.Add(5, "删除 ", 3, 5, 1);
dt.Rows.Add(6, "添加 ", 3, 6, 1);
dt.Rows.Add(7, "后台 ", 0, 7, 0);
for (Int32 i = 0; i <= dt.Rows.Count - 1; i++)
{
if (Convert.ToInt32(dt.Rows[i][ "ParentNode "]) == 0)
{
TreeNode tn = new TreeNode(dt.Rows[i][ "Name "].ToString(), dt.Rows[i][ "CommandName "].ToString());
tvFuns.Nodes.Add(tn);
}
else
{
FindNodeAll(tvFuns.Nodes, dt.Rows[i]);
}
}
}
}
void FindNodeAll(TreeNodeCollection nodes, DataRow dr)
{
foreach (TreeNode node in nodes)
{
if (Convert.ToInt32(node.Value) == Convert.ToInt32(dr[ "ParentNode "]))
{
if (Convert.ToInt32(dr[ "IsCommand "]) == 0)
{
node.ChildNodes.Add(new TreeNode(dr[ "Name "].ToString(), dr[ "CommandName "].ToString()));
return;
}
else
{
node.ChildNodes.Add(new TreeNode(dr[ "Name "].ToString(), dr[ "CommandName "].ToString()));
return;
}
}
if (node.ChildNodes.Count != 0)
{
FindNodeAll(node.ChildNodes, dr);
return;
}
}
}
------------------------------------------------------
[解决办法]
帮顶,jf
[解决办法]
前面贴的没有弄成功?