在一个页面里有个框架,左边的页放棵树,右边的页放DataGrid。怎么实现点击treeview的某个结点,使DataGrid显示的内容有所不同。
我可以读出当前点击的结点text

解决方案 »

  1.   

    Response.Write("<script >")
      Response.Write("window.parent.Form1.dcid.value=" & Chr(34) & a(7) & Chr(34) & ";")
     Response.Write("</script>")dcid为父窗体控件,a(7)为你要传得值
      

  2.   

    Dim t As New Microsoft.Web.UI.WebControls.TreeNode
                t.Text = dr.Item("bumengname")            t.Target = "bm2"
                t.NavigateUrl = "userlist.aspx?bmid=" & dr.Item("id")
      

  3.   

    如果你的树是点击刷新的,建议你用session来保存数据,实在是太简单了如果你的树是点击不刷新的,建议你用js来传递,也不复杂,都停简单的了
      

  4.   

    //生成树
    private void InitTree(TreeNodeCollection Nds,string parentId)
    {
    DataView dv=new DataView();
    TreeNode tmpNd;
    string intId;
    dv.Table=ds.Tables["tree"];
    dv.RowFilter="ParentId="+parentId+"";
    foreach(DataRowView drv in dv)
    {
    tmpNd=new TreeNode();
    tmpNd.ID=drv["NodeId"].ToString();
    tmpNd.Text=drv["NodeName"].ToString();
    //tmpNd.ImageUrl="images/"+drv["Icon"].ToString();
    tmpNd.Target="mainFrame";//这里是框架名 tmpNd.NavigateUrl=drv["Address"].ToString()+drv.Row["NodeID"].ToString();
    Nds.Add(tmpNd);
    intId=drv["ParentId"].ToString();
    InitTree(tmpNd.Nodes,tmpNd.ID);
    }
    }