分享

动态生成Menu

 空城66 2014-10-21

项目中需要动态生成菜单,于是写了个简单的c#代码示例,有待进一步完善:

 

            DataSet ds = new DataSet();
            DataTable dt = new DataTable();
            dt.Columns.Add("Code");
            dt.Rows.Add("1000");
            dt.Rows.Add("10001000");
            dt.Rows.Add("100010001000");
            dt.Rows.Add("100010001001");
            dt.Rows.Add("10001001");
            dt.Rows.Add("100010011000");
            dt.Rows.Add("100010011001");
            dt.Rows.Add("10001002");
            dt.Rows.Add("100010021000");
            dt.Rows.Add("100010021001");
            ds.Tables.Add(dt);

            for (int i = 1; i < ds.Tables[0].Rows.Count; i++)
            {
                MenuItem mi = new MenuItem(ds.Tables[0].Rows[i][0].ToString(), ds.Tables[0].Rows[i][0].ToString(), "", "");
                for (int j = i+1; j < ds.Tables[0].Rows.Count; j++)
                {
                    if (ds.Tables[0].Rows[i][0].ToString().Length < ds.Tables[0].Rows[j][0].ToString().Length)
                    {
                        MenuItem mi1 = new MenuItem(ds.Tables[0].Rows[j][0].ToString(), ds.Tables[0].Rows[i][0].ToString(), "", "");
                        mi.ChildItems.Add(mi1);
                        if (j==ds.Tables[0].Rows.Count-1)
                        {
                            i = j;
                        }
                    }
                    else
                    {
                        i = j - 1;
                        break;
                    }
                }
                Menu1.Items.Add(mi);
            }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多