using com.steering.pss.sale.price.entity; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using CoreFS.CA06; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Control; namespace Core.StlMes.Client.SalePrice.BaseForm { public partial class FrmPriceFramePrice : FrmBase { int MaxIniX=50;///合并表头时初始化的最大起始坐标X轴 int MaxSpyX = 20;///合并表头时初始化的最大跨越段数 int XZhouCount; int YZhouCount; int Y1Count; int Y2Count; int BaseFieldCount=3; DataTable dt = new DataTable(); public FrmPriceFramePrice() { InitializeComponent(); } private void FrmPriceFramePrice_Load(object sender, EventArgs e) { InitForm(); InitComBoBox1(); ultraCombo1.Rows[0].Selected = true; } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": QueryData(); break; case "Save": SaveFormData(); break; case "Delete": DeleteOrResume(true); break; case "Resume": DeleteOrResume(false); break; case "Import": ImportData(); break; case "Export": GridHelper.ulGridToExcel(ugPrice, "价格导出"); break; case "Close": this.Close(); break; } } private void ImportData() { FrmExcelToGrid fet = new FrmExcelToGrid(this.ob); fet.ShowDialog(); } private void DeleteOrResume(bool flag) { ugFramePrice.UpdateData(); ugPrice.UpdateData(); UltraGridRow[] row = ugFramePrice.Rows.AsQueryable().Where(a => a.Cells["CHK"].Value.ToString().ToUpper() == "TRUE").ToArray(); UltraGridRow[] row_price = GridHelper.GetRowsWithKey(ugPrice, new string[] { "CHK" }, new string[] { "True" }); if (row.Length <= 0 && row_price.Length <= 0) { MessageUtil.ShowWarning("请选择需要" + (flag ? "删除" : "恢复") + "的数据!"); return; } ArrayList parm = new ArrayList(); ArrayList parm_price = new ArrayList(); if (flag) { foreach (var uRow in row) { SlmPriceBasepriceEntity spf = new SlmPriceBasepriceEntity(); ; spf.PriceHeadId= uRow.Cells["PRICE_HEAD_ID"].Text.ToString(); if (spf.Validflag == "无效") { MessageUtil.ShowWarning("您勾选的数据中存在已删除的数据,不必重复删除!"); return; } spf.CreateName = UserInfo.GetUserName(); spf.UpdateName = UserInfo.GetUserName(); parm.Add(JSONFormat.Format(spf)); } foreach (var uRow_p in row_price) { SlmPriceBasepriceLineEntity spf_p = (SlmPriceBasepriceLineEntity)uRow_p.ListObject; if (spf_p.Validflag == "无效") { MessageUtil.ShowWarning("您勾选的数据中存在已删除的数据,不必重复删除!"); return; } spf_p.CreateName = UserInfo.GetUserName(); spf_p.UpdateName = UserInfo.GetUserName(); parm_price.Add(JSONFormat.Format(spf_p)); } } else { foreach (var uRow in row) { SlmPriceBasepriceEntity spf = new SlmPriceBasepriceEntity(); ; spf.PriceHeadId = uRow.Cells["PRICE_HEAD_ID"].Text.ToString(); if (spf.Validflag == "有效") { MessageUtil.ShowWarning("您勾选的数据中存在有效的数据,不必进行恢复!"); return; } spf.CreateName = UserInfo.GetUserName(); spf.UpdateName = UserInfo.GetUserName(); parm.Add(JSONFormat.Format(spf)); } foreach (var uRow_p in row_price) { SlmPriceBasepriceLineEntity spf_p = (SlmPriceBasepriceLineEntity)uRow_p.ListObject; if (spf_p.Validflag == "有效") { MessageUtil.ShowWarning("您勾选的数据中存在有效的数据,不必进行恢复!"); return; } spf_p.CreateName = UserInfo.GetUserName(); spf_p.UpdateName = UserInfo.GetUserName(); parm_price.Add(JSONFormat.Format(spf_p)); } } if (MessageUtil.ShowYesNoAndQuestion("是否" + (flag ? "删除" : "恢复") + "所选的数据!") == DialogResult.No) return; int i = ServerHelper.SetData("com.steering.pss.sale.price.server.CorePriceFramePrice.deleteOrResume", new object[] { parm,parm_price, flag }, this.ob); if (i >= 0) { MessageUtil.ShowTips("数据" + (flag ? "删除" : "恢复") + "成功!"); QueryData(); } else { MessageUtil.ShowTips("数据" + (flag ? "删除" : "恢复") + "失败!"); QueryData(); } } private void SaveFormData() { ugFramePrice.UpdateData(); ugPrice.UpdateData(); UltraGridRow[] row = ugFramePrice.Rows.AsQueryable().Where(a => a.Cells["CHK"].Value.ToString().ToUpper() == "TRUE").ToArray(); UltraGridRow[] row_price = GridHelper.GetRowsWithKey(ugPrice, new string[] { "CHK" }, new string[] { "True" }); if (row.Length <= 0 && row_price.Length<=0) { MessageUtil.ShowWarning("请选择需要保存的数据!"); return; } ArrayList parm = CheckFormData(row); ArrayList parm_price = CheckFormData_price(row_price); //if (parm == null || parm.Count <= 0 ) //{ // return; //} if (MessageUtil.ShowYesNoAndQuestion("是否确认保存数据!") == DialogResult.No) return; int i = ServerHelper.SetData("com.steering.pss.sale.price.server.CorePriceFramePrice.save", new object[] { parm, parm_price }, this.ob); if (i > 0) { MessageUtil.ShowTips("数据保存成功!"); QueryData(); } else { MessageUtil.ShowTips("数据保存失败!"); QueryData(); } } /// /// 验证界面数据 /// /// 界面数据 /// private ArrayList CheckFormData(UltraGridRow[] row) { ArrayList parm = new ArrayList(); List list = new List(); foreach (var uRow in row) { ArrayList FactorValue = new ArrayList(); SlmPriceBasepriceEntity spf = new SlmPriceBasepriceEntity(); FactorValue.Add(uRow.Cells["PRICE_HEAD_ID"].Text.ToString()); FactorValue.Add(uRow.Cells["PRICE_VER_ID"].Value.ToString()); //FactorValue.Add(uRow.Cells["PRICE_VER_M"].Text.ToString()); FactorValue.Add(uRow.Cells["PRICE_VER_ID"].Text.ToString()); FactorValue.Add(uRow.Cells["PRICE_VER_SQE"].Text.ToString()); FactorValue.Add(uRow.Cells["FRAME_ID"].Text.ToString()); for (int i = 0; i < XZhouCount; i++) { FactorValue.Add(uRow.Cells[6+i].Value.ToString()); } for (int i = 0; i < 8-XZhouCount; i++) { FactorValue.Add(""); } //for (int i = 0; i < Y2Count; i++) //{ // for (int m = 0; m < Y1Count; m++) // { spf.PriceHeadId = FactorValue[0].ToString(); spf.PriceVerId = FactorValue[1].ToString(); spf.PriceVerM = FactorValue[2].ToString(); // spf.PriceVerSqe = Convert.ToDecimal(FactorValue[2]); spf.PriceVerSqe =1; //spf.PriceVerSqe = i * Y1Count + m + 1; spf.FrameId = FactorValue[4].ToString(); spf.X1IdValue = FactorValue[5].ToString(); spf.X2IdValue = FactorValue[6].ToString(); spf.X3IdValue = FactorValue[7].ToString(); spf.X4IdValue = FactorValue[8].ToString(); spf.X5IdValue = FactorValue[9].ToString(); spf.X6IdValue = FactorValue[10].ToString(); spf.X7IdValue = FactorValue[11].ToString(); spf.X8IdValue = FactorValue[12].ToString(); spf.CreateName = UserInfo.GetUserName(); spf.UpdateName = UserInfo.GetUserName(); //spf.Y1IdValue = this.ugFramePrice.DisplayLayout.Bands[0].Columns[BaseFieldCount + XZhouCount+i*(Y1Count+1)+m+1+1].ToString(); //spf.Y2IdValue = this.ugFramePrice.DisplayLayout.Bands[0].Columns[BaseFieldCount + XZhouCount + i * (Y1Count + 1) + 1].ToString(); //spf.PriceNum = Convert.ToDecimal(uRow.Cells[BaseFieldCount + XZhouCount + i * (Y1Count + 1) + m + 1+1].Value); spf.Validflag = uRow.Cells["VALIDFLAG"].Text.ToString(); if (spf.Validflag == "无效" && spf.CreateName != "") { MessageUtil.ShowWarning("【" + spf.PriceHeadId + "】已经无效,不能修改!"); return null; } parm.Add(JSONFormat.Format(spf)); // } //} } return parm; } private ArrayList CheckFormData_price(UltraGridRow[] row) { ArrayList parm = new ArrayList(); List list = new List(); ArrayList FactorValue = new ArrayList(); foreach (var uRow in row) { SlmPriceBasepriceLineEntity spf = (SlmPriceBasepriceLineEntity)uRow.ListObject; spf.CreateName = UserInfo.GetUserName(); spf.UpdateName = UserInfo.GetUserName(); spf.Validflag = uRow.Cells["VALIDFLAG"].Text.ToString(); if (spf.Validflag == "无效" && spf.CreateName != "") { MessageUtil.ShowWarning("【" + spf.FrameId + "】的因素已经无效,不能修改!"); return null; } if (spf.BihouBegin.ToString() != "" && !StringUtil.IsNumber(spf.BihouBegin.ToString())) { MessageUtil.ShowWarning("壁厚起必须为数字"); return null; } if (spf.BihouEnd.ToString() != "" && !StringUtil.IsNumber(spf.BihouEnd.ToString())) { MessageUtil.ShowWarning("壁厚止必须为数字"); return null; } if (spf.WaijingBegin.ToString() != "" && !StringUtil.IsNumber(spf.WaijingBegin.ToString())) { MessageUtil.ShowWarning("外径起必须为数字"); return null; } if (spf.WaijingEnd.ToString() != "" && !StringUtil.IsNumber(spf.WaijingEnd.ToString())) { MessageUtil.ShowWarning("外径止必须为数字"); return null; } if (spf.PriceNum.ToString() != "" && !StringUtil.IsNumber(spf.PriceNum.ToString())) { MessageUtil.ShowWarning("价格必须为数字"); return null; } parm.Add(JSONFormat.Format(spf)); } return parm; } private void QueryData() { // List list = EntityHelper.GetData( // "com.steering.pss.sale.price.server.CorePriceFramePrice.query", null, this.ob); DataTable dt_query = ServerHelper.GetData("com.steering.pss.sale.price.server.CorePriceFramePrice.query", null, this.ob); dt.Rows.Clear(); ugFramePrice.DataSource = dt; ugFramePrice.DataBind(); for (int i = 0; i < dt_query.Rows.Count; i++) { DataRow dr = dt.NewRow(); dt.Rows.Add(dr); dt.Rows[i]["validflag"] = dt_query.Rows[i]["validflag"].ToString(); dt.Rows[i]["create_name"] = dt_query.Rows[i]["create_name"].ToString(); dt.Rows[i]["create_time"] = dt_query.Rows[i]["create_time"].ToString(); dt.Rows[i]["TiaoShu"] = dt_query.Rows[i]["TiaoShu"].ToString(); if (dt.Columns.Contains("因素一") == true) { dt.Rows[i]["因素一"] = dt_query.Rows[i]["X_1_ID_VALUE"].ToString(); } if (dt.Columns.Contains("因素二") == true) { dt.Rows[i]["因素二"] = dt_query.Rows[i]["X_2_ID_VALUE"].ToString(); } if (dt.Columns.Contains("因素三") == true) { dt.Rows[i]["因素三"] = dt_query.Rows[i]["X_3_ID_VALUE"].ToString(); } if (dt.Columns.Contains("因素四") == true) { dt.Rows[i]["因素四"] = dt_query.Rows[i]["X_4_ID_VALUE"].ToString(); } if (dt.Columns.Contains("因素五") == true) { dt.Rows[i]["因素五"] = dt_query.Rows[i]["X_5_ID_VALUE"].ToString(); } if (dt.Columns.Contains("因素六") == true) { dt.Rows[i]["因素六"] = dt_query.Rows[i]["X_6_ID_VALUE"].ToString(); } if (dt.Columns.Contains("因素七") == true) { dt.Rows[i]["因素七"] = dt_query.Rows[i]["X_7_ID_VALUE"].ToString(); } if (dt.Columns.Contains("因素八") == true) { dt.Rows[i]["因素八"] = dt_query.Rows[i]["X_8_ID_VALUE"].ToString(); } for (int n = 0; n < dt_query.Columns.Count; n++) { if (dt.Columns.Contains(dt_query.Columns[n].ColumnName.Replace("'", ""))) { string ColName = dt_query.Columns[n].ColumnName; dt.Rows[i][ColName.Replace("'", "")] = dt_query.Rows[i][ColName].ToString(); } } } ugFramePrice.DataSource = dt; } private void InitComBoBox1() { UltraComboEditor uce1 = new UltraComboEditor(); SalePriceClass.InitComboEditorWithParm(uce1, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null); ultraCombo1.DisplayLayout.Bands[0].Columns["X1FACTORID"].EditorComponent = uce1; ultraCombo1.DisplayLayout.Bands[0].Columns["X1FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce1); uce1.Visible = false; UltraComboEditor uce2 = new UltraComboEditor(); SalePriceClass.InitComboEditorWithParm(uce2, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null); ultraCombo1.DisplayLayout.Bands[0].Columns["X2FACTORID"].EditorComponent = uce2; ultraCombo1.DisplayLayout.Bands[0].Columns["X2FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce2); uce2.Visible = false; UltraComboEditor uce3 = new UltraComboEditor(); SalePriceClass.InitComboEditorWithParm(uce3, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null); ultraCombo1.DisplayLayout.Bands[0].Columns["X3FACTORID"].EditorComponent = uce3; ultraCombo1.DisplayLayout.Bands[0].Columns["X3FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce3); uce3.Visible = false; UltraComboEditor uce4 = new UltraComboEditor(); SalePriceClass.InitComboEditorWithParm(uce4, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null); ultraCombo1.DisplayLayout.Bands[0].Columns["X4FACTORID"].EditorComponent = uce4; ultraCombo1.DisplayLayout.Bands[0].Columns["X4FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce4); uce4.Visible = false; UltraComboEditor uce5 = new UltraComboEditor(); SalePriceClass.InitComboEditorWithParm(uce5, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null); ultraCombo1.DisplayLayout.Bands[0].Columns["X5FACTORID"].EditorComponent = uce5; ultraCombo1.DisplayLayout.Bands[0].Columns["X5FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce5); uce5.Visible = false; UltraComboEditor uce6 = new UltraComboEditor(); SalePriceClass.InitComboEditorWithParm(uce6, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null); ultraCombo1.DisplayLayout.Bands[0].Columns["X6FACTORID"].EditorComponent = uce6; ultraCombo1.DisplayLayout.Bands[0].Columns["X6FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce6); uce6.Visible = false; UltraComboEditor uce7 = new UltraComboEditor(); SalePriceClass.InitComboEditorWithParm(uce7, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null); ultraCombo1.DisplayLayout.Bands[0].Columns["X7FACTORID"].EditorComponent = uce7; ultraCombo1.DisplayLayout.Bands[0].Columns["X7FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce7); uce7.Visible = false; UltraComboEditor uce8 = new UltraComboEditor(); SalePriceClass.InitComboEditorWithParm(uce8, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryFacName", "FACTOR_ID", "FACTOR_NAME", this.ob, true, null); ultraCombo1.DisplayLayout.Bands[0].Columns["X8FACTORID"].EditorComponent = uce8; ultraCombo1.DisplayLayout.Bands[0].Columns["X8FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce8); uce8.Visible = false; //UltraComboEditor uce9 = new UltraComboEditor(); //SalePriceClass.InitComboEditorWithParm(uce9, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryRangeName", "CLASS_D_ID", "CLASS_D_NAME", this.ob, true, null); //ultraCombo1.DisplayLayout.Bands[0].Columns["Y1FACTORID"].EditorComponent = uce9; //ultraCombo1.DisplayLayout.Bands[0].Columns["Y1FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; //this.Controls.Add(uce9); //uce9.Visible = false; //UltraComboEditor uce10 = new UltraComboEditor(); //SalePriceClass.InitComboEditorWithParm(uce10, "com.steering.pss.sale.price.server.CorePriceBaseFrame.queryRangeName", "CLASS_D_ID", "CLASS_D_NAME", this.ob, true, null); //ultraCombo1.DisplayLayout.Bands[0].Columns["Y2FACTORID"].EditorComponent = uce10; //ultraCombo1.DisplayLayout.Bands[0].Columns["Y2FACTORID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; //this.Controls.Add(uce10); //uce10.Visible = false; } private void InitForm() { string isValid = "1"; List list = EntityHelper.GetData( "com.steering.pss.sale.price.server.CorePriceBaseFrame.query", new object[] { isValid }, this.ob); slmPriceBaseframeSetEntityBindingSource.DataSource = list; EntityHelper.ShowGridCaption(ugPrice.DisplayLayout.Bands[0]); } private void ultraCombo1_ValueChanged(object sender, EventArgs e) { dt.Columns.Clear(); dt.Rows.Clear(); bindBaseField(dt); ///绑定基础字段 LoadXField(dt); ///加载 X轴因素的字段 // LoadYfield(dt); ///加载 Y轴因素的字段 bindBaseField1(dt); LoadFactorInfo(); ///获取X轴下拉列表 } private void bindBaseField1(DataTable dt) { dt.Columns.Add("validflag", typeof(string)); dt.Columns.Add("create_name", typeof(string)); dt.Columns.Add("create_time", typeof(string)); dt.Columns.Add("update_name", typeof(string)); dt.Columns.Add("update_time", typeof(string)); ugFramePrice.DataSource = dt; ugFramePrice.DataBind(); ModifyColumnName("validflag", "有效标志"); ModifyColumnName("create_name", "创建人"); ModifyColumnName("create_time", "创建时间"); ModifyColumnName("update_name", "修改人"); ModifyColumnName("update_time", "修改时间"); } private void LoadYfield(DataTable dt) { string frame_id = ultraCombo1.Value.ToString(); DataTable RangeDt = ServerHelper.GetData("com.steering.pss.sale.price.server.CorePriceFramePrice.GetRangeInfo", new object[] { frame_id }, this.ob); //if (RangeDt != null && RangeDt.Rows.Count > 0) //{ // dt.Columns.Add(RangeDt.Rows[0]["factor_name"].ToString(), typeof(string)); //} DataTable RangeY1 = new DataTable(); DataTable RangeY2 = new DataTable(); if (RangeDt != null && RangeDt.Rows.Count > 0) { RangeY1 = SalePriceClass.GetNewDataTable(RangeDt, "factorclassify_id='Y_1_FACTOR_ID'"); RangeY2 = SalePriceClass.GetNewDataTable(RangeDt, "factorclassify_id='Y_2_FACTOR_ID'"); Y1Count = RangeY1.Rows.Count; Y2Count = RangeY2.Rows.Count; } for (int i = 0; i < RangeY2.Rows.Count; i++) { string Y2_FactorName = RangeY2.Rows[i]["factorclassify_name"].ToString(); string Y2_factor_min_sign = RangeY2.Rows[i]["factor_min_sign"].ToString(); string Y2_factor_min_val = RangeY2.Rows[i]["factor_min_val"].ToString(); string Y2_factor_max_sign = RangeY2.Rows[i]["factor_max_sign"].ToString(); string factor_max_val = RangeY2.Rows[i]["factor_max_val"].ToString(); string Y2_BR_ID = RangeY2.Rows[i]["br_id"].ToString(); string Y2_colName = Y2_factor_min_val + Y2_factor_max_sign + Y2_FactorName + Y2_factor_max_sign + factor_max_val; dt.Columns.Add(Y2_BR_ID, typeof(string)); ugFramePrice.DataSource = dt; ugFramePrice.DataBind(); modifyColumn(Y2_BR_ID, Y2_colName, MaxIniX + RangeY1.Rows.Count * i , 0, RangeY1.Rows.Count , 1); this.ugFramePrice.DisplayLayout.Bands[0].Columns[Y2_BR_ID].RowLayoutColumnInfo.LabelPosition = LabelPosition.LabelOnly; for (int m = 0; m < RangeY1.Rows.Count; m++) { string Y1_FactorName = RangeY1.Rows[m]["factorclassify_name"].ToString(); string Y1_factor_min_sign = RangeY1.Rows[m]["factor_min_sign"].ToString(); string Y1_factor_min_val = RangeY1.Rows[m]["factor_min_val"].ToString(); string Y1_factor_max_sign = RangeY1.Rows[m]["factor_max_sign"].ToString(); string Y1_factor_max_val = RangeY1.Rows[m]["factor_max_val"].ToString(); string Y1_BR_ID = RangeY1.Rows[m]["br_id"].ToString(); string colName = Y1_factor_min_val + Y1_factor_max_sign + Y1_FactorName + Y1_factor_max_sign + Y1_factor_max_val; dt.Columns.Add(Y2_BR_ID + Y1_BR_ID, typeof(string)); ugFramePrice.DataSource = dt; ugFramePrice.DataBind(); // ModifyColumnName(Y2_colName + Y1_BR_ID, colName); modifyColumn(Y2_BR_ID + Y1_BR_ID, colName, MaxIniX + RangeY1.Rows.Count * i + m, 1, 1, 1); } } // ultraGrid1.DataSource = dt; // ultraGrid1.DataBind(); //if (RangeDt != null && RangeDt.Rows.Count > 0) //{ // modifyColumn(RangeDt.Rows[0]["factor_name"].ToString(), RangeDt.Rows[0]["factor_name"].ToString(), MaxIniX, 0, MaxSpyX, 1); // this.ultraGrid1.DisplayLayout.Bands[0].Columns[RangeDt.Rows[0]["factor_name"].ToString()].RowLayoutColumnInfo.LabelPosition = LabelPosition.LabelOnly; //} /////以上代码为合并Y1轴,目前屏蔽 } /// /// 根据Column的 KEY来更改列显示标题 /// /// /// private void ModifyColumnName(string BR_ID, string colName) { // this.ugFramePrice.DisplayLayout.Bands[0].Columns.Add(BR_ID); UltraGridColumn GridColumn = this.ugFramePrice.DisplayLayout.Bands[0].Columns[BR_ID]; GridColumn.Header.Caption = colName; } /// /// 绑定X轴字段 /// /// private void LoadXField(DataTable dt) { string facId = ""; string facName = ""; string isValid = "1"; int m = 0; for (int i = 1; i < ultraCombo1.ActiveRow.Cells.Count - 7; i++) { if (ultraCombo1.ActiveRow.Cells[i].Value.ToString() != null && ultraCombo1.ActiveRow.Cells[i].Value.ToString() != "") { // dt.Columns.Add(ultraCombo1.ActiveRow.Cells[i].Text.ToString(), typeof(string)); dt.Columns.Add(ultraCombo1.DisplayLayout.Bands[0].Columns[i].Header.Caption.ToString(), typeof(string)); m += 1; } } ugFramePrice.DataSource = dt; ugFramePrice.DataBind(); for (int i = 1; i < ultraCombo1.ActiveRow.Cells.Count - 7; i++) { if (ultraCombo1.ActiveRow.Cells[i].Value.ToString() != null && ultraCombo1.ActiveRow.Cells[i].Value.ToString() != "") { ModifyColumnName(ultraCombo1.DisplayLayout.Bands[0].Columns[i].Header.Caption.ToString(), ultraCombo1.ActiveRow.Cells[i].Text.ToString()); } } XZhouCount = m; } private void bindBaseField(DataTable dt) { this.ugFramePrice.DisplayLayout.Bands[0].RowLayoutStyle = RowLayoutStyle.GroupLayout; dt.Columns.Add("CHK", typeof(Boolean)); dt.Columns.Add("PRICE_HEAD_ID", typeof(string)); dt.Columns.Add("PRICE_VER_ID", typeof(string)); // dt.Columns.Add("PRICE_VER_M", typeof(string)); dt.Columns.Add("PRICE_VER_SQE", typeof(string)); dt.Columns.Add("FRAME_ID", typeof(string)); dt.Columns.Add("TiaoShu", typeof(string)); ugFramePrice.DataSource = dt; ugFramePrice.DataBind(); ModifyColumnName("PRICE_HEAD_ID", "基价套头ID"); ModifyColumnName("PRICE_VER_ID", "基价版本ID"); // ModifyColumnName("PRICE_VER_M", "基价版本描述"); // ModifyColumnName("PRICE_VER_SQE", "基价序号"); ModifyColumnName("FRAME_ID", "基价框架"); ModifyColumnName("TiaoShu", "条数"); // dt.Columns.Add("PRICE_VER_ID", typeof(string)); //ugFramePrice.DataSource = dt; //ugFramePrice.DataBind(); } /// /// 加载Grid下啦列表 /// private void LoadFactorInfo() { for (int i = 0; i < ugFramePrice.DisplayLayout.Bands[0].Columns.Count; i++) { string FactorName = ugFramePrice.DisplayLayout.Bands[0].Columns[i].Header.Caption.ToString(); DataTable FactorInfo = ServerHelper.GetData("com.steering.pss.sale.price.server.CorePriceFramePrice.GetFactorInfo", new object[] { FactorName }, this.ob); if (FactorInfo != null && FactorInfo.Rows.Count > 0 && FactorInfo.Rows[0]["Table_Name"].ToString() != "") { UltraComboEditor uce1 = new UltraComboEditor(); string sql_getFactorBind = ""; string TableName = FactorInfo.Rows[0]["TABLE_NAME"].ToString(); string DataValue = FactorInfo.Rows[0]["COLUMN_KEY"].ToString(); string DataDesc = FactorInfo.Rows[0]["COLUMN_NAME"].ToString(); string sql_getSQL = FactorInfo.Rows[0]["VAL_SQL"].ToString(); DataTable dtFactor = ServerHelper.GetData("com.steering.pss.sale.price.server.CorePriceFramePrice.FactorBind", new object[] { TableName, DataValue, DataDesc, sql_getSQL }, this.ob); if (dtFactor != null && dtFactor.Rows.Count > 0) { Object[] obj = new Object[] { "", "" }; DataRow dr = dtFactor.NewRow(); dr.ItemArray = obj; dtFactor.Rows.InsertAt(dr, 0); uce1.DataSource = dtFactor; uce1.DataMember = ""; uce1.ValueMember = DataValue; uce1.DisplayMember = DataDesc; ClsBaseInfo.SetComboItemHeight(uce1); } ugFramePrice.DisplayLayout.Bands[0].Columns[i].EditorComponent = uce1; ugFramePrice.DisplayLayout.Bands[0].Columns[i].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce1); uce1.Visible = false; } } } /// /// 合并表头函数 /// /// 列名 /// 表头名 /// 表头横轴起始点 /// 表头纵轴起始点 /// 横向跨度 /// 纵向跨度 private void modifyColumn(string columnName, string caption, int x, int y, int spanX, int spanY) { // this.ugFramePrice.DisplayLayout.Bands[0].Columns.Add(columnName); UltraGridColumn GridColumn = this.ugFramePrice.DisplayLayout.Bands[0].Columns[columnName]; GridColumn.Header.Caption = caption; GridColumn.Header.Appearance.TextVAlign = Infragistics.Win.VAlign.Middle; GridColumn.Header.Appearance.TextHAlign = Infragistics.Win.HAlign.Center; GridColumn.RowLayoutColumnInfo.OriginX = x; GridColumn.RowLayoutColumnInfo.OriginY = y; GridColumn.RowLayoutColumnInfo.SpanX = spanX; GridColumn.RowLayoutColumnInfo.SpanY = spanY; //GridColumn.CellActivation = Activation.Disabled; GridColumn.RowLayoutColumnInfo.AllowCellSizing = RowLayoutSizing.None; GridColumn.SortIndicator = SortIndicator.Disabled; } private void ugFramePrice_InitializeLayout(object sender, InitializeLayoutEventArgs e) { e.Layout.Bands[0].Columns["CHK"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox; e.Layout.Bands[0].Columns["CHK"].Header.Caption = "选择"; e.Layout.Bands[0].Columns["CHK"].DefaultCellValue = false; } private void ugFramePrice_AfterRowInsert(object sender, RowEventArgs e) { e.Row.Cells["Frame_id"].Value = ultraCombo1.ActiveRow.Cells["FrameId"].Value.ToString(); string maxId = ugFramePrice.Rows.AsQueryable().Max(a => a.Cells["price_head_id"].Value.ToString()); if (maxId == "") { e.Row.Cells["price_head_id"].Value = "J000001"; } else { string str = "J" + (Convert.ToInt32(maxId.Substring(1, 6)) + 1).ToString().PadLeft(6, '0'); e.Row.Cells["price_head_id"].Value = str; } } private void ugFramePrice_AfterRowActivate(object sender, EventArgs e) { if (ugFramePrice.ActiveRow.Cells["price_head_id"].Value.ToString() != "") { string price_head_id = ugFramePrice.ActiveRow.Cells["price_head_id"].Value.ToString(); string isValid = "1"; EntityHelper.ShowGridCaption(ugPrice.DisplayLayout.Bands[0]); List list = EntityHelper.GetData( "com.steering.pss.sale.price.server.CorePriceFramePriceLine.queryById", new object[] { price_head_id, isValid }, this.ob); slmPriceBasepriceLineEntityBindingSource.DataSource = list; UltraGridBand ugb = this.ugPrice.DisplayLayout.Bands[0]; UltraGridColumn[] col = new UltraGridColumn[] { }; GridHelper.RefreshAndAutoSizeExceptColumns(ugPrice, col); } } private void ugPrice_AfterRowInsert(object sender, RowEventArgs e) { string maxId = ugPrice.Rows.AsQueryable().Max(a => a.Cells["PriceLineId"].Value.ToString()); if (maxId == "") { e.Row.Cells["PriceLineId"].Value = "E000001"; } else { string str = "E" + (Convert.ToInt32(maxId.Substring(1, 6)) + 1).ToString().PadLeft(6, '0'); e.Row.Cells["PriceLineId"].Value = str; } e.Row.Cells["PriceHeadId"].Value = ugFramePrice.ActiveRow.Cells["PRICE_Head_ID"].Value.ToString(); e.Row.Cells["FrameId"].Value = ugFramePrice.ActiveRow.Cells["FRAME_ID"].Value.ToString(); e.Row.Cells["PriceUnit"].Value = "121503"; } private void ugFramePrice_InitializeRow(object sender, InitializeRowEventArgs e) { UltraComboEditor uce1 = new UltraComboEditor(); SalePriceClass.InitComboEditorWithParm(uce1, "com.steering.pss.sale.price.server.CorePriceBaseDoc.query", "PRICE_VER_ID", "PRICE_VER_DESC", this.ob, true, new object[] { "", "", "1" }); ugFramePrice.DisplayLayout.Bands[0].Columns["PRICE_VER_ID"].EditorComponent = uce1; ugFramePrice.DisplayLayout.Bands[0].Columns["PRICE_VER_ID"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce1); uce1.Visible = false; } private void ugPrice_InitializeRow(object sender, InitializeRowEventArgs e) { UltraComboEditor uce1 = new UltraComboEditor(); SalePriceClass.InitComboEditorWithParm(uce1, "com.steering.pss.sale.price.server.CorePriceFactor.queryBaseInfo", "BASECODE", "BASENAME", this.ob, true, new object[] { "1215" }); ugPrice.DisplayLayout.Bands[0].Columns["PriceUnit"].EditorComponent = uce1; ugPrice.DisplayLayout.Bands[0].Columns["PriceUnit"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce1); uce1.Visible = false; UltraComboEditor uce2 = new UltraComboEditor(); SalePriceClass.InitComboEditor1(uce2, "com.steering.pss.sale.price.server.CorePriceFramePriceLine.getSpecDesc", "ORDER_SPEC_CODE", "ORDER_SPEC_DESC", this.ob, true); ugPrice.DisplayLayout.Bands[0].Columns["Specificion"].EditorComponent = uce2; ugPrice.DisplayLayout.Bands[0].Columns["Specificion"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; this.Controls.Add(uce2); uce2.Visible = false; } } }