C#使用TreeView加载系统应用菜单代码

来源:互联网 发布:用友u8利润表没有数据 编辑:程序博客网 时间:2024/06/05 14:52

C#使用TreeView加载系统应用菜单代码

    class TreeAppMenu    {        private DataSet ds;        public bool LoadMenu(ref TreeView treeview)        {                        string connString = GlobalInfo.CurrentDB;                        using (DbConnection conn = new System.Data.OleDb.OleDbConnection(connString))            {                DbCommand cmd = conn.CreateCommand();                cmd.CommandText = "SELECT * FROM S_MENU";                cmd.CommandType = CommandType.Text;                DbDataAdapter da = new OleDbDataAdapter();                da.SelectCommand = cmd;                ds = new DataSet();                try                {                    da.Fill(ds, "S_MENU");                    if (ds.Tables["S_MENU"].Rows.Count >= 1)                    {                        string menuno = ds.Tables["S_MENU"].Rows[0]["MENU_NO"].ToString();                        string menuname = ds.Tables["S_MENU"].Rows[0]["MENU_NM"].ToString();                        DataView dv = new DataView();                        dv.Table = ds.Tables["S_MENU"];                        dv.RowFilter = "UP_MENU_NO = 'TOP'";                        dv.Sort = "SORT_NO";                                                foreach (DataRowView drv in dv)                        {                            TreeNode node = new TreeNode();                            node.Name = drv["MENU_NO"].ToString();                            node.Text = drv["MENU_NM"].ToString();                            node.ImageIndex = 0;                            node.SelectedImageIndex = 0;                                                        treeview.Nodes.Add(node);                                                        MakeItem(ref treeview, ref node);                            node.Expand();                        }                                            }                }                catch (Exception ex)                {                    MessageBox.Show(ex.Message, "DataSet Error", MessageBoxButtons.OK, MessageBoxIcon.Error);                    return false;                }                finally                {                    cmd.Dispose();                    da.Dispose();                    ds.Dispose();                    if (conn.State != ConnectionState.Closed)                    {                        conn.Close();                    }                }            }            return true;        }        private void MakeItem(ref TreeView treeview, ref TreeNode treenode)        {            DataView dv = new DataView();            dv.Table = ds.Tables["S_MENU"];            dv.RowFilter = "UP_MENU_NO = '" + treenode.Name + "'";            dv.Sort = "SORT_NO";            foreach (DataRowView drv in dv)            {                TreeNode node = new TreeNode();                node.Name = drv["MENU_NO"].ToString();                node.Text = drv["MENU_NM"].ToString();                string winno = drv["WIN_NO"].ToString();                if (winno == null || winno == "")                {                    node.ImageIndex = 1;                    node.SelectedImageIndex = 2;                }                else                {                    node.ImageIndex = 3;                    node.SelectedImageIndex = 4;                }                treenode.Nodes.Add(node);                                MakeItem(ref treeview, ref node);            }        }    }


 

0 0
原创粉丝点击