public void CreateTreeview(DataSet dstaset) { DataView dv = new DataView(); dv.Table = dstaset.Tables[0]; dv.RowFilter = "Modul_ParentItme=0";
foreach(DataRowView Row in dv) { TreeNode t1 = new TreeNode(); t1.Text = Row["Modul_Name"].ToString(); t1.Value = Row["Modul_Itme"].ToString(); AddTree(dstaset,t1); this.TreeView1.Nodes.Add(t1); }
} public void AddTree(DataSet dataset ,TreeNode t) { DataView dv = new DataView(); dv.Table = dataset.Tables[0]; dv.RowFilter = "Modul_ParentItme="+int.Parse(t.Value.ToString())+""; foreach (DataRowView Row in dv) { TreeNode t2=new TreeNode (); t2.Text = Row["Modul_Name"].ToString(); t2.Value = Row["Modul_Itme"].ToString(); AddTree(dataset, t2); t.ChildNodes.Add(t2);
}
} public DataSet GetDataSet() { using (SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=123456;database=shzhw")) { string sql = "GetTree"; SqlCommand com = new SqlCommand(sql,con); com.CommandType = CommandType.StoredProcedure; SqlParameter[] parm = new SqlParameter[] {new SqlParameter("@sessionid",1) }; com.Parameters.AddRange(parm); SqlDataAdapter da = new SqlDataAdapter(com); DataSet ds = new DataSet(); da.Fill(ds); return ds; }
{
DataView dv = new DataView();
dv.Table = dstaset.Tables[0];
dv.RowFilter = "Modul_ParentItme=0";
foreach(DataRowView Row in dv)
{
TreeNode t1 = new TreeNode();
t1.Text = Row["Modul_Name"].ToString();
t1.Value = Row["Modul_Itme"].ToString();
AddTree(dstaset,t1);
this.TreeView1.Nodes.Add(t1);
}
}
public void AddTree(DataSet dataset ,TreeNode t)
{
DataView dv = new DataView();
dv.Table = dataset.Tables[0];
dv.RowFilter = "Modul_ParentItme="+int.Parse(t.Value.ToString())+"";
foreach (DataRowView Row in dv)
{
TreeNode t2=new TreeNode ();
t2.Text = Row["Modul_Name"].ToString();
t2.Value = Row["Modul_Itme"].ToString();
AddTree(dataset, t2);
t.ChildNodes.Add(t2);
}
}
public DataSet GetDataSet()
{
using (SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=123456;database=shzhw"))
{
string sql = "GetTree";
SqlCommand com = new SqlCommand(sql,con);
com.CommandType = CommandType.StoredProcedure;
SqlParameter[] parm = new SqlParameter[] {new SqlParameter("@sessionid",1) };
com.Parameters.AddRange(parm);
SqlDataAdapter da = new SqlDataAdapter(com);
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}
}
Ajax的无刷新树型结构
http://blog.csdn.net/baby97/archive/2009/06/09/4254806.aspx
TreeView-无限级树及用户权限的设置
{
return SimpleBindTreeNode(TV, null, parentID);
}
public int SimpleBindTreeNode(TreeView TV, TreeNode TN, int ParentID)
{
try
{
DataTable dt = MyDoSql.GetDt("select Id,ParentID,ItemText,Class from CM_MenuItem where ParentID=" + ParentID + " order by OrderIndex asc,id asc");
if (TV.Nodes.Count == 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
TreeNode oTN = new TreeNode(dt.Rows[i]["ItemText"].ToString(), dt.Rows[i]["Id"].ToString());
oTN.SelectAction = TreeNodeSelectAction.Expand;
TV.Nodes.AddAt(i, oTN);
SimpleBindTreeNode(TV, oTN, int.Parse(oTN.Value));
}
}
else
{
for (int i = 0; i < dt.Rows.Count; i++)
{
TreeNode oTN = new TreeNode(dt.Rows[i]["ItemText"].ToString(), dt.Rows[i]["Id"].ToString());
oTN.Target = "mainFrame";
oTN.SelectAction = TreeNodeSelectAction.Expand;
TN.ChildNodes.AddAt(i, oTN);
SimpleBindTreeNode(TV, oTN, int.Parse(oTN.Value));
}
}
return 1;
}
catch
{
return 0;
}
}
else
{
for (int i = 0; i < dt.Rows.Count; i++)
{
TreeNode oTN = new TreeNode(dt.Rows[i]["ItemText"].ToString(), dt.Rows[i]["Id"].ToString());
oTN.Target = "mainFrame";
oTN.SelectAction = TreeNodeSelectAction.Expand;
TN.ChildNodes.AddAt(i, oTN);
SimpleBindTreeNode(TV, oTN, int.Parse(oTN.Value));
}
}
return 1;
}
catch
{
return 0;
}
}
{
return SimpleBindTreeNode(TV, null, parentID);
}
public int SimpleBindTreeNode(TreeView TV, TreeNode TN, int ParentID)
{
try
{
DataTable dt = MyDoSql.GetDt("select Id,ParentID,ItemTextfrom
CM_MenuItem where ParentID=" + ParentID + " order by OrderIndex asc,id asc"); if (TV.Nodes.Count == 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
TreeNode oTN = new TreeNode(dt.Rows[i]["ItemText"].ToString(),
dt.Rows[i]["Id"].ToString());
oTN.SelectAction = TreeNodeSelectAction.Expand;
TV.Nodes.AddAt(i, oTN);
SimpleBindTreeNode(TV, oTN, int.Parse(oTN.Value));
}
}
else
{
for (int i = 0; i < dt.Rows.Count; i++)
{
TreeNode oTN = new TreeNode(dt.Rows[i]["ItemText"].ToString(), dt.Rows[i]["Id"].ToString());
oTN.Target = "mainFrame";
oTN.SelectAction = TreeNodeSelectAction.Expand;
TN.ChildNodes.AddAt(i, oTN);
SimpleBindTreeNode(TV, oTN, int.Parse(oTN.Value));
}
}
return 1;
}
catch
{
return 0;
}
}
CM_MenuItem where ParentID=" + ParentID + " order by OrderIndex asc,id asc");
每次 都和数据库打交道 没什么效率吧