DataSet ds = new DataSet();
protected void Page_Load(object sender, EventArgs e)
{ if (!IsPostBack)
{
CreatTree();
if (Request.QueryString["id"] == null)
{
TextBox2.Text = "";
}
else
{
TextBox2.Text = Request.QueryString["id"].ToString();
GG();
}
}
}
public void CreatTree() ///创建树
{
BLLQuery bq = new BLLQuery();
ds = bq.GetDataSet("select comp_id,comp_name,layer_code,link_target,parent_lay,convert(int,left(layer_code ,3)) as id from ComponentHave order by id asc");
AddTree("0", (TreeNode)null, "Sys_Hierarchy.aspx?id=");
}
public void AddTree(string ParentID, TreeNode pNode, string urls)
{
DataView dvTree = new DataView(ds.Tables[0]);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "[parent_lay] = '" + ParentID+"'";
foreach (DataRowView Row in dvTree)
{
TreeNode Node = new TreeNode();
if (pNode == null)
{ //添加根节点
Node.Text = Row["comp_name"].ToString();
Node.NavigateUrl = urls + Row["layer_code"].ToString();
this.TreeView1.Nodes.Add(Node);
//Node.Expanded = true;
AddTree(Row["layer_code"].ToString(), Node, urls); //再次递归
}
else
{ //添加当前节点的子节点
Node.Text = Row["comp_name"].ToString();
Node.NavigateUrl = urls + Row["layer_code"].ToString();
pNode.ChildNodes.Add(Node);
//Node.Expanded = true;
AddTree(Row["layer_code"].ToString(), Node, urls); //再次递归
}
}
} private void GG() //获取每个节点的下层节点在GRIDVIEW上显示
{
DataSet ds = new DataSet();
string Ps = Request.QueryString["id"].ToString();
int li = Ps.Length + 3;
string parm = Ps + "%";
String[] pString = new String[] { li.ToString(), parm };
ds = BySqlHelperQuery.GetTreeViewLay(pString, 60);
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();
}每次一点节点时候 页面就刷新一次,树又建立了一次
怎么让点击后不刷新-----------------------
还有谁有直接一点的树上的
复选框联动程序---javascript 写的
能发我一个不
public void CreatTree() ///创建树
{
BLLQuery bq = new BLLQuery();
ds = bq.GetDataSet("select comp_id,comp_name,layer_code,link_target,parent_lay,convert(int,left(layer_code ,3)) as id from ComponentHave order by id asc");
AddTree("0", (TreeNode)null, "Sys_Hierarchy.aspx?id=");
}
这一段传入了 红色字体部分所以多次刷新了
如果只传入"#" 时候则不刷新了但是我怎么判断我当前选中的节点并,并且取出节点值 谢谢高手们
书刷新了一定要重新建立的
发到updatepanel里也建立知识感觉不到
你的数不是CreatTree这个方法吗
你这样,你这个树一定是相对绝对的吧
你吧CreatTree这个方法用一个Cache吧他存起来
然后进行判断
if(Cache["CreatTree"]==null)
如果他是空就从新执行CreatTree
else
就直接从Cache中获得你要的值
ds=(dataset)Cache["CreatTree"]
这要就能提高效率了哦