using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; using CoreFS.CA06; using Core.Mes.Client.Comm.Server; using System.Diagnostics; using Core.Mes.Client.Comm.Tool; using Infragistics.Win.UltraWinGrid; using System.Collections; using Core.Mes.Client.Comm.Control; namespace Core.StlMes.Client.SaleOrder.Control { public partial class ctrlOrderLineDesign : UserControl { private DataTable designDt; public DataTable DesignDt { get { return designDt; } set { designDt = value; } } private DataTable designDtNPass; public DataTable DesignDtNPass { get { return designDtNPass; } set { designDtNPass = value; } } public ctrlOrderLineDesign() { InitializeComponent(); } private void ctrlOrderLineDesign_Load(object sender, EventArgs e) { } /// /// 绑定设计状态表数据源。 /// public void binUltraGrid() { if (designDt.Rows.Count > 0) { //为UltraGrid控件绑定数据源。 DataSet ds = new DataSet(); ds.Tables.Add(designDt); ultraGirdDelivery.DataSource = ds; ultraGirdDelivery.DataBind(); //隐藏设计状态明细列。 for (int i = 1; i < ultraGirdDelivery.DisplayLayout.Bands[0].Columns.Count; i++) { //i=0,是设计状态主信息,因此从1开始。单项展示,双项隐藏。 if (i % 2 == 0) { ultraGirdDelivery.DisplayLayout.Bands[0].Columns[i].Hidden = true; } else { //单项展示,同时为单项指定ToolTipText为他下一列的Text,设计状态明细。 if (i + 1 < ultraGirdDelivery.Rows[1].Cells.Count) { ultraGirdDelivery.Rows[1].Cells[i].ToolTipText = ultraGirdDelivery.Rows[1].Cells[i + 1].Text.ToString(); } } } //隐藏列头,动态构建UltraGrid,因此第一行就是列头。 ultraGirdDelivery.DisplayLayout.Bands[0].ColHeadersVisible = false; //列自适应 GridHelper.RefreshAndAutoSizeExceptRows(ultraGirdDelivery, new UltraGridColumn[] { //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"] }); //第一列合并 //ultraGirdDelivery.DisplayLayout.Bands[0].Columns["columns"].MergedCellStyle = MergedCellStyle.Always; if (ultraGirdDelivery.Rows.Count >= 2) { ultraGirdDelivery.Rows[0].Appearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.True; } } } /// /// 不通过项目数据源绑定。 /// public void binUltraGridNPass() { if (designDtNPass.Rows.Count > 0) { DataSet ds = new DataSet(); ds.Tables.Add(designDtNPass); ultraGridD.DataSource = ds; ultraGridD.DataBind(); for (int i = 1; i < ultraGridD.DisplayLayout.Bands[0].Columns.Count; i++) { //项目名称转变为button。 ultraGridD.DisplayLayout.Rows[0].Cells[i].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Button; ultraGridD.DisplayLayout.Rows[0].Cells[i].Column.ButtonDisplayStyle = ButtonDisplayStyle.Always; //Tag存储下一行的Text值,也就是管理科室名称。 ultraGridD.DisplayLayout.Rows[0].Cells[i].Tag = ultraGridD.DisplayLayout.Rows[2].Cells[i].Text.ToString(); } ultraGridD.DisplayLayout.Rows[2].Hidden = true; //列头隐藏,第1行即为列头。 ultraGridD.DisplayLayout.Bands[0].ColHeadersVisible = false; //列自适应 //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridD, new UltraGridColumn[] { // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"] //}); //第一列合并 //ultraGridD.DisplayLayout.Bands[0].Columns["columns"].MergedCellStyle = MergedCellStyle.Always; if (ultraGridD.Rows.Count >= 2) { ultraGridD.Rows[0].Appearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.True; } } } private void ultraGridD_ClickCellButton(object sender, CellEventArgs e) { //ultraGridD.ActiveCell.Text //string[] design_Obj = e.Cell.Tag.ToString().Split('|'); //string key = abc[0]; //现在除了失败原因和管理科室,还需要传入钢种。 DesignCellText(e.Cell.Text, e.Cell.Tag.ToString()); //for (int i = 0; i < ultraGridD.DisplayLayout.Bands[0].Columns; i++ ) //{ // if (e.Cell.Column.Key == ultraGridD.DisplayLayout.Bands[0].Columns[i].Key) // { // if (e.Cell.Row.Cells.Count > i + 1) // { // UltraGridCell cell = e.Cell.Row.Cells[i + 1]; // } // } //} //ultraGirdDelivery.Rows[1].Cells[i].ToolTipText = ultraGirdDelivery.Rows[1].Cells[i + 1].Text.ToString(); } public delegate void HDesignCellText(string lstItem, string designObj); public event HDesignCellText DesignCellText; //private void ctrlOrderLineDesign_Load(object sender, EventArgs e) //{ // //if (designDt.Rows.Count > 0) // //{ // // ultraGirdDelivery.DataSource = designDt; // // ultraGirdDelivery.DataBind(); // //} //} } }