892
技術社區[雲棲]
Treeview中利用遞歸無限綁定
閑話少說:
①建立數據庫
②aspx
隻是一個treeview控件而已,可以設置它的樣式
③cs
public partial class index : System.Web.UI.Page
{
private ProAndCityDataContext dc = new ProAndCityDataContext();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindTreeview(null, 0);
}
}
/// <summary>
/// 根據父節點ID讀出該節點的內容
/// </summary>
/// <param name="parentNode">父節點ID</param>
/// <returns></returns>
public IEnumerable<ProAndCity> ReadProvince(int parentNode)
{
return from p in dc.ProAndCity
where p.ParentID == parentNode
select p;
}
/// <summary>
/// 綁定Treeview
/// </summary>
/// <param name="n"></param>
/// <param name="parentID"></param>
private void BindTreeview(TreeNode n, int parentID)
{
foreach (ProAndCity p in ReadProvince(parentID))
{
if (parentID == 0)
{
n = new TreeNode();
n.Text = p.Name;
n.Value = p.ID.ToString();
this.TreeView1.Nodes.Add(n);
BindTreeview(n, p.ID); // 此時該節點的ID作為根節點,尋找子節點
}
else
{
TreeNode n1 = new TreeNode();
n1.Text = p.Name;
n1.Value = p.ID.ToString();
n.ChildNodes.Add(n1);
BindTreeview(n1, p.ID); // 此時該節點的ID作為根節點,尋找子節點
}
}
}
}
最後更新:2017-04-02 22:15:58