asp.NetTreeView再帰ループサブノード生成ツリーメニューインスタンス
2471 ワード
本文の例はaspを述べた.NetTreeView再帰ループサブノードがツリーメニューを生成する方法.皆さんの参考にしてください.具体的には以下の通りです.
ここでは主に再帰ループ取得サブノードを用いる
もっとaspについてNet関連内容に興味のある読者は、「asp.net操作jsonテクニックまとめ」、「asp.net文字列操作テクニックまとめ」、「asp.net操作XMLテクニックまとめ」、「asp.netファイル操作テクニックまとめ」、「asp.net ajaxテクニックまとめ」、「asp.netキャッシュ操作テクニックまとめ」を参照してください.
本文で述べたように皆さんにasp.Netプログラミングが役立ちます.
ここでは主に再帰ループ取得サブノードを用いる
///
///
///
///
protected void BindTreeView(long ID, TreeView treeview)
{
DataTable dt = menuLogic.GetMenu2(ID, User.Identity.Name);
treeview.Nodes.Clear();
DataRow[] parentrow = dt.Select("par_id=0");
for (int i = 0; i < parentrow.Length; i++)
{
TreeNode rootnode = new TreeNode();
rootnode.Text = parentrow[i]["node_name"].ToString(); //parentrow[i][3].ToString();
rootnode.Value = parentrow[i]["ID"].ToString(); //parentrow[i][1].ToString();
rootnode.Expanded = true;
rootnode.Selected = false;
rootnode.SelectAction = TreeNodeSelectAction.None;
treeview.Nodes.Add(rootnode);
CreateChildNode(rootnode, dt); //
}
}
///
///
///
///
///
protected void CreateChildNode(TreeNode parentNode, DataTable datatable)
{
DataRow[] rowlist = datatable.Select("par_id=" + parentNode.Value);
for (int i = 0; i < rowlist.Length; i++)
{
TreeNode node = new TreeNode();
if (datatable.Select("par_id=" + rowlist[i]["ID"].ToString().Trim()).Length > 0)
{
node.Text = rowlist[i]["node_name"].ToString();
node.Value = rowlist[i]["ID"].ToString();
}
else
{
node.Text = "" + rowlist[i]["node_name"].ToString() + "";
node.Value = rowlist[i]["ID"].ToString();
}
node.Expanded = false;
node.Selected = false;
node.SelectAction = TreeNodeSelectAction.None;
parentNode.ChildNodes.Add(node);
CreateChildNode(node, datatable); //
}
}
もっとaspについてNet関連内容に興味のある読者は、「asp.net操作jsonテクニックまとめ」、「asp.net文字列操作テクニックまとめ」、「asp.net操作XMLテクニックまとめ」、「asp.netファイル操作テクニックまとめ」、「asp.net ajaxテクニックまとめ」、「asp.netキャッシュ操作テクニックまとめ」を参照してください.
本文で述べたように皆さんにasp.Netプログラミングが役立ちます.