最近我再做一个商贸管理软件,,其中很多页面都有TREEVIEW控件  需要绑定不同数据库里的数据     想把这个方法写到公用类里 在不同的页面里去调这个方法,, 请问如何实现??     但是每个表里的字段名都不相同,,如何写成一个方法, 再每个页面里去调用啊~~

解决方案 »

  1.   

    从 TTreeView 做一个你自己的控件,指定属性。
      

  2.   

    设计一张系统功能菜单表,表里可以这样设计字段,id,pid,uid,name等等,然后根据pid来加载子菜单就可以了
      

  3.   

    private void initTree(DataSet ds, TreeNodeCollection Nds, string NodeId)
        {        try
            {
                DataView dv = new DataView();
                string intId = string.Empty;
                dv.Table = ds.Tables[0];
                dv.RowFilter = "ParentMenuID='" + NodeId + "'";
                foreach (DataRowView drv in dv)
                {
                    TreeNode Tnode = new TreeNode();
                    Tnode.Value = drv["MenuID"].ToString();
                    Tnode.Text = drv["MenuTxt"].ToString();
                    //Tnode.ImageUrl = drv["Icon"].ToString();
                   // Tnode.NavigateUrl = "javascript:setURL('" + drv["LinkUrl"].ToString() + "','" + drv["NodeName"].ToString() + "');";
                    //Tnode.Target = "_self";
                    Tnode.ShowCheckBox = true;
                    Tnode.Checked = this.popedomcontained(drv["MenuID"].ToString());
                    Nds.Add(Tnode);
                    intId = drv["ParentMenuID"].ToString();
                    this.initTree(ds, Tnode.ChildNodes, Tnode.Value);
                }
            }
            catch (System.Exception ex)
            {
                Response.Redirect("Error.aspx?msg=" + ex.Message.ToString());
            }
        }