二开插件:如何通过插件设置九宫格控件应用的角标?原创
金蝶云社区-暗夜
暗夜
4人赞赏了该文章 867次浏览 未经作者许可,禁止转载编辑于2021年03月25日 11:25:30

       九宫格控件推出后大受欢迎,然后小伙伴们,有了新的问题:如何设置九宫格应用的角标呢?不同的应用可以设置不同的角标吗?角标可以设置不同的位置吗?答案是,统统都可以。
       环境准备:2021年3月份及以后补丁;
       运行效果图:
       image.png
       插件代码:

           public override void AfterBindData(EventArgs e)
        {
            base.AfterBindData(e); 
            this.SetMetroView();
        }
           private void SetMetroView()
           {
            var control = this.View.LayoutInfo.GetAppearance("FMetroView1");//九宫格控件的id
            if (control == null) return;
            List<GridItem> list = new List<GridItem>();
            //FKey: 应用id ;FIcon:应用的图标(默认路径为image/mobile);FCaption:应用的名称支持多语言;
            //ShowBadge:是否显示角标;BadgeDefaultText:角标的值;BadgeType角标的方向:0:左、1:左上、2:右、3:右上
            list.Add(new GridItem() { FKey = "yingwu", FIcon = "bas_CloudReport.png", FCaption = new LocaleValue("鹦鹉"), ShowBadge = true, BadgeDefaultText = new LocaleValue("8"), BadgeType = 0 });
            list.Add(new GridItem() { FKey = "xique", FIcon = "bas_ProcessReport.png", FCaption = new LocaleValue("喜鹊"), ShowBadge = true, BadgeDefaultText = new LocaleValue("99"),  BadgeType = 1 });
            list.Add(new GridItem() { FKey = "wuya", FIcon = "bas_PeriodServcie.png", FCaption = new LocaleValue("乌鸦") , ShowBadge = true, BadgeDefaultText = new LocaleValue("12"),   BadgeType = 2 });
            list.Add(new GridItem() { FKey = "yuanyang", FIcon = "bas_Set.png", FCaption = new LocaleValue("鸳鸯"), ShowBadge = true, BadgeDefaultText = new LocaleValue("5"), BadgeType = 3 });
            list.Add(new GridItem() { FKey = "yingwu2", FIcon = "bas_CloudReport.png", FCaption = new LocaleValue("鹦鹉2") });
            list.Add(new GridItem() { FKey = "xique2", FIcon = "bas_ProcessReport.png", FCaption = new LocaleValue("喜鹊2") });
            list.Add(new GridItem() { FKey = "wuya2", FIcon = "bas_PeriodServcie.png", FCaption = new LocaleValue("乌鸦2") });
            list.Add(new GridItem() { FKey = "yuanyang2", FIcon = "bas_Set.png", FCaption = new LocaleValue("鸳鸯2") });
            MetroView listView = this.View.GetControl<MetroView>("FMetroView1");
            listView.SetItems(list);
          }


赞 4