62,052
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class TreeView : System.Web.UI.Page
{
public List<ModelTree> TreeList = null;
protected void Page_Load(object sender, EventArgs e)
{
if (Session["TreeData"] == null)
{
TreeList = new List<ModelTree>(){
new ModelTree(){TId="0001",TName="董事会",IsParent=1 },
new ModelTree(){TId="0002",TName="监事会",IsParent=1 },
new ModelTree(){TId="0003",TName="工会",IsParent=1 },
new ModelTree(){TId="000101",TName="生产科",IsParent=0 },
new ModelTree(){TId="000102",TName="地质科",IsParent=0 },
new ModelTree(){TId="000201",TName="测量科",IsParent=0 },
new ModelTree(){TId="000301",TName="工会干事科",IsParent=0 }
};
Session["TreeData"] = TreeList;
}
else
{
TreeList = Session["TreeData"] as List<ModelTree>;
}
this.Tv1.Nodes.Clear();
this.Tv1.Nodes.Add(new TreeNode() { Text = "总部门" });
InitTree(TreeList, "000", this.Tv1.Nodes[0]);
}
int count = 0;
public void InitTree(List<ModelTree> list, string ParentId, TreeNode Ptn)
{
List<ModelTree> lmt = new List<ModelTree>();
lmt = list.Where(N => N.TId.ToString().Contains(ParentId.ToString()) && N.TId != ParentId).ToList();
if (count == 0)
{
lmt = lmt.Where(I => I.IsParent == 1).ToList();
}
if (lmt.Count > 0)
{
count++;
foreach (ModelTree mt in lmt)
{
TreeNode Tn = new TreeNode();
Tn.Text = mt.TName + " <a href='NodeAdd.aspx?Type=add&TID=" + mt.TId.ToString() + "\'><font color='red'>添加节点</font></a>"
+ " <a href='NodeAdd.aspx?Type=upd&TID=" + mt.TId.ToString() + "\'><font color='black'>更新节点</font></a>";
Tn.Value = mt.TId.ToString();
Ptn.ChildNodes.Add(Tn);
InitTree(list, mt.TId.ToString(), Tn);
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class NodeAdd : System.Web.UI.Page
{
string type = string.Empty;
string TID = string.Empty;
List<ModelTree> lt = new List<ModelTree>();
protected void Page_Load(object sender, EventArgs e)
{
lt = Session["TreeData"] as List<ModelTree>;
try
{
type = Request.QueryString["type"].ToString();
TID = Request.QueryString["TID"].ToString();
}
catch (NullReferenceException err)
{
throw err;
}
if (type.ToString() == "upd")
{
this.Txt_TID.ReadOnly = true;
this.Btn_Cmd.Text = "Update";
Btn_Cmd.Click += new EventHandler(Btn_UPD_Click);
}
else
{
this.Txt_TID.ReadOnly = true;
this.Btn_Cmd.Text = "Insert";
Btn_Cmd.Click += new EventHandler(Btn_ADD_Click);
this.Txt_TID.Text = (Convert.ToInt32(lt.FindAll(N => N.TId.Contains(TID)).Max(I => I.TId)) + 1).ToString().PadLeft(TID.Length + 2, '0');
}
}
protected void Btn_UPD_Click(object sender, EventArgs e)
{
//Update
//取list.find 然后用值替换
Session["TreeData"] = lt;
Response.Redirect("TreeView.aspx");
}
protected void Btn_ADD_Click(object sender, EventArgs e)
{
//insert
//list.add方法
Session["TreeData"] = lt;
Response.Redirect("TreeView.aspx");
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
/// <summary>
///ModelTree 的摘要说明
/// </summary>
[Serializable]
public class ModelTree
{
public ModelTree()
{ }
private string _TId;
public string TId
{
get { return _TId; }
set { _TId = value; }
}
private string _TName;
public string TName
{
get { return _TName; }
set { _TName = value; }
}
private int _IsParent;
public int IsParent
{
get { return _IsParent; }
set { _IsParent = value; }
}
}