zoukankan      html  css  js  c++  java
  • DotNetBar.MetroTilePanel 样式、加载数据、获取数据

    描述下:MetroTilePanel包含子集ItemContainer  子集下面又包含子集MetroTileItem  目前我用到的就是这三层 

    因为需求所以整个模块全部由代码实现

    1.ItemContainer加载MetroTileItem  

     private void FillICGroup(ItemContainer icGroup)
            {
                CustomList CLS = new CustomList("科室运行状态列表");
                DataTable DTKs = CLS.GetList("'" + icGroup.Tag.ToString() + "'");
    
                if (DTKs.Rows.Count > 0)
                {
                    DateTime dtserverTime = DateTime.Parse(GV.getSvrDate()).AddMinutes(-10);
    
                    string strAlert = "";
                    string MessageInfo = "";
    
                    foreach (DataRow dr in DTKs.Rows)
                    {
                        CustomList CLMM = new CustomList("计算机登录记录明细");
                        DataTable DTMS = CLMM.GetList(dr["科室代码"].ToString(), icGroup.Tag.ToString());
    
                        if (DTMS.Rows.Count > 0)
                        {
                            DateTime DTtime = DateTime.Parse(DTMS.Rows[0]["时间"].ToString()).AddHours(4);
                            if (DateTime.Parse(DTMS.Rows[0]["时间"].ToString()).AddHours(4) >= DateTime.Now)
                            {
                                MessageInfo = "正在运行";
                            }
                            else if (DateTime.Parse(DTMS.Rows[0]["时间"].ToString()).AddHours(4) < DateTime.Now && DateTime.Parse(DTMS.Rows[0]["时间"].ToString()).AddHours(24) >= DateTime.Now)
                            {
                                MessageInfo = "停止超过四小时";
    
                            }
                            else
                            {
                                MessageInfo = "停止超过一天";
                            }
    
                        }
                        else
                        {
                            MessageInfo = "未运行";
                        }
                        var converter = new ColorConverter();
                        MetroTileItem MTI = new MetroTileItem();
                        MTI.Tag = dr["系统代码"].ToString().Trim();
                        MTI.Name = dr["科室代码"].ToString().Trim();
                        MTI.TileStyle.BackColor = StrText(MessageInfo.Trim());//设置三级的样式
                        MTI.TileStyle.BackColor2 = StrText(MessageInfo.Trim());
                        MTI.GlobalName = dr["科室名称"].ToString().Trim();
                        MTI.AccessibleName = dr["系统代码"].ToString().Trim(); 
    //给相应的属性复制,在点击事件中用得到(个人会用) MTI.TileSize
    = new Size(int.Parse(iniFileOperation.ReadString(dr["系统代码"].ToString().Trim(), "width", "150", ConfigPath)), int.Parse(iniFileOperation.ReadString(dr["系统代码"].ToString().Trim(), "heigh", "70", ConfigPath))); string DT = DateTime.Now.AddMonths(-3).ToString("yyyy-MM-01 00:00:00"); string timestar = DT; string timeEnd = DateTime.Now.ToString("yyyy-MM-01 00:00:00"); CustomList Count1 = new CustomList("信息条数"); DataTable DTCount = Count1.GetList(dr["科室代码"].ToString().Trim(), dr["系统代码"].ToString().Trim(), timestar, timeEnd);
    //设置模块右上角Logo
    if (DTCount.Rows[0][0].ToString() != "0") { MTI.Symbol = "uf075"; MTI.SymbolColor = Color.Red; MTI.SymbolSize = 16; MTI.ImageTextAlignment = ContentAlignment.TopRight; } MTI.CheckBehavior = eMetroTileCheckBehavior.MiddleMouseButtonClick; MTI.TitleText = "" + dr["科室名称"].ToString().Trim(); MTI.TitleTextAlignment = ContentAlignment.MiddleCenter; MTI.TitleTextFont = _ContentTextFont; //根据需求绑定事件
    MTI.Click
    += MTI_Click; MTI.MouseDown += MTI_MouseDown;
    //第三集项加载到第二级 icGroup.SubItems.Add(MTI);
    //第一级加载第二级
      MTP.Items.Add(icGroup); } } }

    展示图片:

    QQ :958369746 欢迎进行技术交流

  • 相关阅读:
    Qt5.3中qml ApplicationWindow设置窗口无边框问题
    解决qt5在ubuntu下无法调用fcitx输入中文的问题
    qt4.8中多线程的几种方式
    qt5.2.1在linux下去除最大化和最小化按钮
    最近玩了一下qt5.2.1,顺着写点东西,关于这个版本设置程序主窗口居中
    控制台小游戏-贪吃蛇,c++和c#版
    数据库锁机制(一)——概述
    jQuery插件编写学习+实例——无限滚动
    通过错误处理来理解三次握手和四次挥手
    发现一个木马
  • 原文地址:https://www.cnblogs.com/hanke123/p/9935750.html
Copyright © 2011-2022 走看看