我在一页面的左边设置了TreeView动态菜单,右边想放个控件,可以在点击TreeView后,显示对应的数据.数据主要是对应的产品名称,产品简介和说明书下载(点击这个,会判断当前用户是否会员,是即可下载说明书,否则返回会员登录界面).
1、这个显示数据用什么控件好呢?
2、TreeViw的数据表为A
   另一需要显示的数据表为B
   点击treeview后,要显示"B.TID=A.PID"的数据,这要怎么表达?怎么知道当前点击的TreeView的PID的值?

解决方案 »

  1.   

    给点击的TreeNode。Tag附上PID值,点击获取SelectNode的Tag
      

  2.   

    就是1楼说的,TreeNode有个属性是Tag,可以用Object向它赋值,所以你把你想附加在节点上的信息设计成一个实体类,然后(Object)转换一下赋值给对应节点的Tag,点击节点时再把Tag转换成你的实体类形就ok
      

  3.   

    最好用一个DataList控件..设置下他的样式 就可以啦..
    第二个问题顶二楼
      

  4.   

    不知道我理解你的思路有没有错。
    你可以用treeview于gridview关联起来。
    选择了treeview某个节点后,gridview显示出节点对应分类的数据?类似这样么?
    如果是这样的话根据选点节点的值 去刷选GRIDVIE的数据源就行了 
    给你个例子吧:private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
            {
                try
                {                treeNodeText = e.Node.Tag.ToString();
                    ShowMarketReg(treeNodeText);
                }
                catch (Exception err)
                {
                    Clscommonuse.WriteError("RecommendMap!", "树状图", err.Source, err.Source + "$" + err.Message);
                }
            }        /// <summary>
            /// 显示市场活动记录
            /// </summary>
            private void ShowMarketReg(string nodeTag)
            {
                if (!string.IsNullOrEmpty(nodeTag))
                {
                    this.label1.Text = "当前选择人的市场活动:";
                    DataSet ds = THS.Logic.Seller.MapClass.GetReg(nodeTag, this.dtpStartTime.Value, dtpEndTime.Value);
                    dataGridView1.DataSource = ds.Tables[0];
                    lblSearchResult.Text = ds.Tables[0].Rows.Count.ToString();
                    dataGridView1.Refresh();
                }
            }
      

  5.   

    就是想实现像CSDN论坛那样的效果.左边的菜单,点击菜单,在右边显示对应的数据.
      

  6.   

    设置Navigate,target
    Treeview _SelectedIndexChanged 获取节点信息
      

  7.   

    CSDN树http://topic.csdn.net/u/20091009/10/e77605dd-3da1-4092-a22c-1b9ad738cde3.html
      

  8.   

    在 Windows 程序中,Tag 属性可以说是万能属性,只要你想让他绑定数据,他就会表示你希望要的东西,在程序的运用中也很简单。