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;
}
}
}