/// <summary> /// 已选控件 /// </summary> void UCActView() { //加载结果展示控件BEGIN RemoveUserCtl(panGroupTopRight); //panGroupTopRight.Controls.Clear(); lblInputInfo.Visible = UCQtyConvertMode; if (UCQtyConvertMode) { lblInputInfo.Text = "转换单位:" + UCQtyConvertModeInputUnit + " 系数:" + UCQtyConvertModeInputConvertXS; } UCFabBaseViewCtl ucfbsc = CreateFabViewControl(); ucfbsc.UCDataSource = m_UCDataSource; int colCount = UCFabParamSet.GetIntValueByID(6002);//码单显示横向模式列数 if (colCount <= 0) { colCount = 10; } bool volumeNumberShow = SysConvert.ToBoolean(UCFabParamSet.GetIntValueByID(6024)); //卷号是否显示 ucfbsc.UCColumnCount = colCount; //10 ucfbsc.Dock = DockStyle.Fill; ucfbsc.UCVolumeNumberShowFlag = volumeNumberShow; //卷号是否显示 ucfbsc.UCQtyConvertMode = UCQtyConvertMode; ucfbsc.UCQtyConvertModeInputUnit = UCQtyConvertModeInputUnit; ucfbsc.UCQtyConvertModeInputConvertXS = UCQtyConvertModeInputConvertXS; ucfbsc.UCColumnISNHide = UCColumnISNHide; panGroupTopRight.Controls.Add(ucfbsc); ucfbsc.UCAct(); //加载结果展示控件END }
/// <summary> /// 创建磁贴一个 /// </summary> /// <param name="p_XIndex">水平序号</param> /// <param name="p_YIndex">垂直序号</param> UCFabLTileSimple CreateFabTileOne(int p_XIndex, int p_YIndex, int p_FirstColumnWidth, int p_FirstRowHeight) { int splitpixel = 2;//间隔像素 int tempWidth = 85, tempHeight = 44; int setWidth = UCFabParamSet.GetIntValueByID(6014);//码单选择简洁模式磁贴宽度 if (setWidth > 0) { tempWidth = setWidth; } UCFabLTileSimple ucft = new UCFabLTileSimple(); ucft.Location = new System.Drawing.Point(p_XIndex * tempWidth + splitpixel * (p_XIndex + 1) + p_FirstColumnWidth, p_YIndex * tempHeight + splitpixel * (p_YIndex + 1) + p_FirstRowHeight); ucft.Name = "ucft" + (10000 * p_YIndex + p_XIndex); ucft.Size = new System.Drawing.Size(tempWidth, tempHeight); ucft.TabIndex = 1000 * p_YIndex + p_XIndex; //ucft.UCBackColorIndex = p_ColorIndex; ucft.object_CheckedChanged += new UCFabLTileCheckChanged(UCFabLTile_CheckChanged);//关联委托事件 //ucft.MouseClick += new MouseEventHandler(panGroup_MouseClick);//快速点击及滚动用 ucft.UCControl_RowIndexChanged += new UCFabRowIndexChanged(UCControl_RowIndexChanged); if (UCAllowKPFlag)//允许开匹 { ucft.ContextMenuStrip = cMenuLoadFab; } return(ucft); }
/// <summary> /// 控件加载事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void UCFabInput_Load(object sender, EventArgs e) { try { int modelIndex = UCFabParamSet.GetIntValueByID(6021);//码单显示模式默认序号 if (modelIndex > 0 && modelIndex < radgOPType.Properties.Items.Count) { radgOPType.SelectedIndex = modelIndex; } } catch (Exception E) { this.ShowMessage(E.Message); } }
/// <summary> /// 已选控件 /// </summary> void UCActSelect() { int colCount = UCFabParamSet.GetIntValueByID(6002);//码单显示横向模式列数 if (colCount <= 0) { colCount = 10; } //加载结果展示控件BEGIN panGroupTopLeft.Controls.Clear(); UCFabBaseSelectCtl ucfbsc = CreateFabSelectControl(); ucfbsc.UCDataSource = UCSelectDataSource; ucfbsc.UCColumnCount = colCount;// 10; ucfbsc.UCFabSelect_CancelOne += new UCFabSelectCancel(ucSelect_CancelOne); ucfbsc.Dock = DockStyle.Fill; panGroupTopLeft.Controls.Add(ucfbsc); ucfbsc.UCAct(); //加载结果展示控件END }
/// <summary> /// 加载控件 /// </summary> void UCActLoad() { RemoveUserCtl(panGroupTopRight); //panGroupTopRight.Controls.Clear(); //ClearControlDispose(cla); //加载录入控件BEGIN int colCount = UCFabParamSet.GetIntValueByID(6022);//码单编辑横向模式列数 if (radgOPType.SelectedIndex == 2) { colCount = UCFabParamSet.GetIntValueByID(6023);//码单编辑磁贴模式每行磁贴数 } if (colCount <= 0) { colCount = 8; } int inputNum = UCFabParamSet.GetIntValueByID(6025);//码单编辑横向模式格子数 if (inputNum > 0) { drpInputNum.Text = inputNum.ToString(); } bool volumeNumberShow = SysConvert.ToBoolean(UCFabParamSet.GetIntValueByID(6024));//卷号是否显示 UCFabBaseInputCtl ucflbc = CreateFabLoadControl(); ucflbc.UCDataSource = m_UCDataSource; ucflbc.UCColumnCount = colCount; // 10; ucflbc.UCInputCount = SysConvert.ToInt32(drpInputNum.Text); //录入格子数 ucflbc.Dock = DockStyle.Fill; ucflbc.UCVolumeNumberShowFlag = volumeNumberShow; //卷号是否显示 panGroupTopRight.Controls.Add(ucflbc); ucflbc.UCAct(); //加载录入控件END }
/// <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); }
/// <summary> /// 加载控件 /// </summary> void UCActLoad() { int colCount = UCFabParamSet.GetIntValueByID(6012);//码单选择磁贴模式每行磁贴数 if (colCount <= 0) { colCount = 5; } if (radgOPType.SelectedIndex == 2) //简洁模式 { colCount = UCFabParamSet.GetIntValueByID(6013); //码单选择简洁模式每行磁贴数 if (colCount <= 0) { colCount = 10; } } //加载展示控件BEGIN RemoveUserCtl(panGroupTopRight); //panGroupTopRight.Controls.Clear(); UCFabBaseLoadCtl ucflbc = CreateFabLoadControl(); ucflbc.UCDataSource = m_UCDataSource; ucflbc.UCColumnCount = colCount; ucflbc.UCAllowKPFlag = UCAllowKPFlag; if (UCAllowKPFlag) { ucflbc.UCEventKPClick += new UCFabSelectCancel(UCEventKPClick); } ucflbc.Dock = DockStyle.Fill; panGroupTopRight.Controls.Add(ucflbc); ucflbc.UCAct(); //加载展示控件END }
/// <summary> /// 转换数据源为横向 /// </summary> /// <returns>第一列为标题;每笔数据占两行,第一行匹号,第二行数量</returns> DataTable ConvertDataSource(DataTable dtSource) { gridView1.Columns.Clear(); //列数 UCColumnCount; DataTable outdt = new DataTable(); outdt.Columns.Add(new DataColumn("ColTitle", typeof(string))); gridView1.Columns.Add(CreateGridColumnOne("ColTitle", "标题", 0, 0)); //添加一列 int colWidth = UCFabParamSet.GetIntValueByID(6003); //码单显示横向模式列宽度 if (colWidth <= 0) { colWidth = 0; } for (int i = 1; i <= UCColumnCount; i++) { outdt.Columns.Add(new DataColumn("ColVal" + i, typeof(string))); gridView1.Columns.Add(CreateGridColumnOne("ColVal" + i.ToString(), (i).ToString(), colWidth, i + 1));//添加一列 } //列添加完毕,开始转换数据 int rowIndex = 0; //转换后行号 int colIndex = 0; //转换后列号 for (int i = 0; i < dtSource.Rows.Count; i++) { rowIndex = i / UCColumnCount; colIndex = i % UCColumnCount; if (colIndex == 0)//第一列,则添加两行 { DataRow dr = outdt.NewRow(); dr["ColTitle"] = "匹号"; outdt.Rows.Add(dr); DataRow dr2 = outdt.NewRow(); dr2["ColTitle"] = "米数"; outdt.Rows.Add(dr2); DataRow dr3 = outdt.NewRow(); dr3["ColTitle"] = "重量"; outdt.Rows.Add(dr3); DataRow dr5 = outdt.NewRow(); dr5["ColTitle"] = "码数"; outdt.Rows.Add(dr5); DataRow dr4 = outdt.NewRow(); dr4["ColTitle"] = "等级"; outdt.Rows.Add(dr4); } //开始赋值 outdt.Rows[rowIndex * 5]["ColVal" + (colIndex + 1)] = dtSource.Rows[i]["SubSeq"].ToString(); //匹号 outdt.Rows[rowIndex * 5 + 1]["ColVal" + (colIndex + 1)] = dtSource.Rows[i]["Qty"].ToString(); //米数 outdt.Rows[rowIndex * 5 + 2]["ColVal" + (colIndex + 1)] = dtSource.Rows[i]["Weight"].ToString(); //重量 outdt.Rows[rowIndex * 5 + 3]["ColVal" + (colIndex + 1)] = dtSource.Rows[i]["Yard"].ToString(); //码数 outdt.Rows[rowIndex * 5 + 4]["ColVal" + (colIndex + 1)] = dtSource.Rows[i]["GoodsLevel"].ToString(); //等级 } return(outdt); }
/// <summary> /// 转换数据源为横向 /// </summary> /// <returns>第一列为标题;每笔数据占两行,第一行匹号,第二行数量</returns> DataTable ConvertDataSource(DataTable dtSource) { gridView1.Columns.Clear(); //列数 UCColumnCount; DataTable outdt = new DataTable(); outdt.Columns.Add(new DataColumn("ColTitle", typeof(string))); gridView1.Columns.Add(CreateGridColumnOne("ColTitle", "标题", 0, 0)); //添加一列 int colWidth = UCFabParamSet.GetIntValueByID(6003); //码单显示横向模式列宽度 if (colWidth <= 0) { colWidth = 0; } for (int i = 1; i <= UCColumnCount; i++) { outdt.Columns.Add(new DataColumn("ColVal" + i, typeof(string))); gridView1.Columns.Add(CreateGridColumnOne("ColVal" + i.ToString(), (i).ToString(), colWidth, i + 1));//添加一列 } outdt.Columns.Add(new DataColumn("ColTotal", typeof(string))); gridView1.Columns.Add(CreateGridColumnOne("ColTotal", "小计", 0, UCColumnCount + 2));//添加一列 //列添加完毕,开始转换数据 int rowIndex = 0; //转换后行号 int colIndex = 0; //转换后列号 for (int i = 0; i < dtSource.Rows.Count; i++) { rowIndex = i / UCColumnCount; colIndex = i % UCColumnCount; if (colIndex == 0) //第一列,则添加两行 { if (UCVolumeNumberShowFlag) //如果显示卷号,则添加匹号行 { DataRow dr = outdt.NewRow(); dr["ColTitle"] = "匹号"; outdt.Rows.Add(dr); } DataRow dr2 = outdt.NewRow(); if (UCVolumeNumberShowFlag)//如果显示卷号,则显示文字 { dr2["ColTitle"] = "米数"; } else { dr2["ColTitle"] = (rowIndex + 1).ToString();//显示行号,直观 } outdt.Rows.Add(dr2); if (UCVolumeNumberShowFlag) { DataRow dr3 = outdt.NewRow(); dr3["ColTitle"] = "重量"; outdt.Rows.Add(dr3); } DataRow dr4 = outdt.NewRow(); dr4["ColTitle"] = "码数"; outdt.Rows.Add(dr4); } //开始赋值 if (UCVolumeNumberShowFlag) //显示卷号 { outdt.Rows[rowIndex * 4]["ColVal" + (colIndex + 1)] = dtSource.Rows[i]["SubSeq"].ToString(); //匹号 outdt.Rows[rowIndex * 4 + 1]["ColVal" + (colIndex + 1)] = dtSource.Rows[i]["Qty"].ToString(); //数量 outdt.Rows[rowIndex * 4 + 2]["ColVal" + (colIndex + 1)] = dtSource.Rows[i]["Weight"].ToString(); //重量 outdt.Rows[rowIndex * 4 + 3]["ColVal" + (colIndex + 1)] = dtSource.Rows[i]["Yard"].ToString(); //码数 } else//如果不显示卷号,就是一行数量,则不赋值匹号 { outdt.Rows[rowIndex * 3]["ColVal" + (colIndex + 1)] = dtSource.Rows[i]["Qty"].ToString(); //数量 outdt.Rows[rowIndex * 3 + 1]["ColVal" + (colIndex + 1)] = dtSource.Rows[i]["Weight"].ToString(); //重量 outdt.Rows[rowIndex * 3 + 2]["ColVal" + (colIndex + 1)] = dtSource.Rows[i]["Yard"].ToString(); //码数 } } return(outdt); }