Exemplo n.º 1
0
        /// <summary>
        /// 创建磁贴
        /// </summary>
        /// <param name="dtSource">数据源,列0/1/2/3/4:选择标志/BoxNo/卷号/数量/缸号</param>
        /// <param name="p_ColumnCount">列数量</param>
        void CreateFabTile(DataTable dtSource, int p_ColumnCount)
        {
            RemoveUserCtl(panGroup);
            //panGroup.Controls.Clear();//清除界面上所有控件


            int firstColumnWidth = 55 + 1;
            int firstRowHeight   = 23 + 1;


            for (int i = 0; i < dtSource.Rows.Count; i++)
            {
                int xIndex = i % (p_ColumnCount); //水平 取余 小尺寸,倍率2 *2
                int yIndex = i / (p_ColumnCount); //垂直 取整 小尺寸,倍率2 * 2

                int colorIndex = 1;               //色系
                //if (xIndex % 2 == 1)//取余
                //{
                //    colorIndex = 2;
                //}


                if (xIndex == 0)//创建一个起始列
                {
                    UCFabLTileSimpleFirstColumn ucftc = CreateFabTileFirstColumnOne(xIndex, yIndex, firstRowHeight);
                    ucftc.UCRowIndex = yIndex + 1;
                    panGroup.Controls.Add(ucftc);
                }
                if (yIndex == 0)//创建一个起始行
                {
                    UCFabLTileSimpleFirstRow ucftr = CreateFabTileFirstRowOne(xIndex, yIndex, firstColumnWidth);
                    ucftr.UCColIndex = xIndex + 1;
                    panGroup.Controls.Add(ucftr);
                }


                UCFabLTileSimple ucft = CreateFabTileOne(xIndex, yIndex, firstColumnWidth, firstRowHeight);
                ucft.IniValue(dtSource.Rows[i]["BoxNo"].ToString()
                              , new string[] { dtSource.Rows[i]["SubSeq"].ToString(), dtSource.Rows[i]["Qty"].ToString(), dtSource.Rows[i]["JarNum"].ToString() }
                              , SysConvert.ToBoolean(SysConvert.ToInt32(dtSource.Rows[i]["SelectFlag"])), colorIndex);
                ucft.UCRowIndex = i;//磁贴序号
                panGroup.Controls.Add(ucft);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 创建磁贴一个 第一行
        /// </summary>
        /// <param name="p_XIndex">水平序号</param>
        /// <param name="p_YIndex">垂直序号</param>
        UCFabLTileSimpleFirstRow CreateFabTileFirstRowOne(int p_XIndex, int p_YIndex, int p_FirstColumnWidth)
        {
            int splitpixel = 2;                                   //间隔像素
            int tempWidth  = 85;
            int setWidth   = UCFabParamSet.GetIntValueByID(6014); //码单选择简洁模式磁贴宽度

            if (setWidth > 0)
            {
                tempWidth = setWidth;
            }
            int tempHeight = 23;


            UCFabLTileSimpleFirstRow ucftr = new UCFabLTileSimpleFirstRow();

            ucftr.Location = new System.Drawing.Point(p_XIndex * tempWidth + splitpixel * (p_XIndex + 1) + p_FirstColumnWidth, splitpixel);
            ucftr.Name     = "ucftfr" + (10000 * p_YIndex + p_XIndex);
            ucftr.Size     = new System.Drawing.Size(tempWidth, tempHeight);
            //ucft.TabIndex = 1000 * p_YIndex + p_XIndex;
            ucftr.MouseClick += new MouseEventHandler(panGroup_MouseClick);//快速点击及滚动用
            return(ucftr);
        }