using System; using System.Collections.Generic; using System.Text; using System.Data; using Infragistics.Win.UltraWinGrid; using CoreFS.CA06; using System.Windows.Forms; namespace Core.Mes.Client.Common { public class JJBStaticFunction { public static DataSet FrmDataSet = new DataSet(); /// /// 设置Grid的Cell的DropDownList绑定下拉的形式 /// /// 要设置的列 /// 要设置的表名 /// 列头的中文 /// 列宽 /// 要设置的Grid /// 下拉绑定的表 /// 值对应的字段名 /// 显示对应的字段名 public static void SetGridDropDownList(string MasterColumnName, string TableName, string caption, int ColumnWidth, Infragistics.Win.UltraWinGrid.UltraGridBase Grid, System.Data.DataTable DropTable, string ValueMember, string DisplayMember) { try { Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].Hidden = false; Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].Header.Caption = caption; Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].Header.Appearance.TextHAlign = Infragistics.Win.HAlign.Center; Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].Width = ColumnWidth; Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; Infragistics.Win.UltraWinGrid.UltraDropDown ultraCombo = new Infragistics.Win.UltraWinGrid.UltraDropDown(); Grid.FindForm().Controls.Add(ultraCombo); ultraCombo.DisplayMember = DisplayMember; ultraCombo.ValueMember = ValueMember; ultraCombo.Visible = false; ultraCombo.DataSource = DropTable.DefaultView; ultraCombo.Width = ColumnWidth; foreach (System.Data.DataColumn col in DropTable.Columns) { if (col.ColumnName != DisplayMember) { ultraCombo.DisplayLayout.Bands[0].Columns[col.ColumnName].Hidden = true; } else { ultraCombo.DisplayLayout.Bands[0].Columns[col.ColumnName].Band.ColHeadersVisible = false; ultraCombo.DisplayLayout.Bands[0].Columns[col.ColumnName].Width = ultraCombo.Width; } } Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].ValueList = ultraCombo; Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].CellAppearance.TextHAlign = Infragistics.Win.HAlign.Left; Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].CellAppearance.TextVAlign = Infragistics.Win.VAlign.Middle; } catch (System.Exception ex) { Console.WriteLine(ex.ToString()); } } /// /// 设置Grid的Cell的DropDownList绑定下拉的形式 /// /// 要设置的列 /// 要设置的表名 /// 列头的中文 /// 列宽 /// 要设置的Grid /// 下拉绑定的表 /// 值对应的字段名 /// 显示对应的字段名 public static void SetGridDropDownListCell(string MasterColumnName, Int32 i, string caption, int ColumnWidth, Infragistics.Win.UltraWinGrid.UltraGridBase Grid, System.Data.DataTable DropTable, string ValueMember, string DisplayMember) { try { Grid.DisplayLayout.Bands[i].Columns[MasterColumnName].Hidden = false; Grid.DisplayLayout.Bands[i].Columns[MasterColumnName].Header.Caption = caption; Grid.DisplayLayout.Bands[i].Columns[MasterColumnName].Header.Appearance.TextHAlign = Infragistics.Win.HAlign.Center; Grid.DisplayLayout.Bands[i].Columns[MasterColumnName].Width = ColumnWidth; Grid.DisplayLayout.Bands[i].Columns[MasterColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList; Infragistics.Win.UltraWinGrid.UltraDropDown ultraCombo = new Infragistics.Win.UltraWinGrid.UltraDropDown(); Grid.FindForm().Controls.Add(ultraCombo); ultraCombo.DisplayMember = DisplayMember; ultraCombo.ValueMember = ValueMember; ultraCombo.Visible = false; ultraCombo.DataSource = DropTable.DefaultView; ultraCombo.Width = ColumnWidth; foreach (System.Data.DataColumn col in DropTable.Columns) { if (col.ColumnName != DisplayMember) { ultraCombo.DisplayLayout.Bands[0].Columns[col.ColumnName].Hidden = true; } else { ultraCombo.DisplayLayout.Bands[0].Columns[col.ColumnName].Band.ColHeadersVisible = false; ultraCombo.DisplayLayout.Bands[0].Columns[col.ColumnName].Width = ultraCombo.Width; } } Grid.DisplayLayout.Bands[i].Columns[MasterColumnName].ValueList = ultraCombo; Grid.DisplayLayout.Bands[i].Columns[MasterColumnName].CellAppearance.TextHAlign = Infragistics.Win.HAlign.Left; Grid.DisplayLayout.Bands[i].Columns[MasterColumnName].CellAppearance.TextVAlign = Infragistics.Win.VAlign.Middle; } catch (System.Exception ex) { Console.WriteLine(ex.ToString()); } } /// /// 设置Grid的Cell的DropDownList绑定下拉的形式是可编辑 /// /// 要设置的列 /// 要设置的表名 /// 列头的中文 /// 列宽 /// 要设置的Grid /// 下拉绑定的表 /// 值对应的字段名 /// 显示对应的字段名 public static void SetGridDropDownListCellEdit(string MasterColumnName, Int32 i, string caption, int ColumnWidth, Infragistics.Win.UltraWinGrid.UltraGridBase Grid, System.Data.DataTable DropTable, string ValueMember, string DisplayMember) { try { Grid.DisplayLayout.Bands[i].Columns[MasterColumnName].Hidden = false; Grid.DisplayLayout.Bands[i].Columns[MasterColumnName].Header.Caption = caption; Grid.DisplayLayout.Bands[i].Columns[MasterColumnName].Header.Appearance.TextHAlign = Infragistics.Win.HAlign.Center; Grid.DisplayLayout.Bands[i].Columns[MasterColumnName].Width = ColumnWidth; Grid.DisplayLayout.Bands[i].Columns[MasterColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown; Infragistics.Win.UltraWinGrid.UltraDropDown ultraCombo = new Infragistics.Win.UltraWinGrid.UltraDropDown(); Grid.FindForm().Controls.Add(ultraCombo); ultraCombo.DisplayMember = DisplayMember; ultraCombo.ValueMember = ValueMember; ultraCombo.Visible = false; ultraCombo.DataSource = DropTable.DefaultView; ultraCombo.Width = ColumnWidth; foreach (System.Data.DataColumn col in DropTable.Columns) { if (col.ColumnName != DisplayMember) { ultraCombo.DisplayLayout.Bands[0].Columns[col.ColumnName].Hidden = true; } else { ultraCombo.DisplayLayout.Bands[0].Columns[col.ColumnName].Band.ColHeadersVisible = false; ultraCombo.DisplayLayout.Bands[0].Columns[col.ColumnName].Width = ultraCombo.Width; } } Grid.DisplayLayout.Bands[i].Columns[MasterColumnName].ValueList = ultraCombo; Grid.DisplayLayout.Bands[i].Columns[MasterColumnName].CellAppearance.TextHAlign = Infragistics.Win.HAlign.Left; Grid.DisplayLayout.Bands[i].Columns[MasterColumnName].CellAppearance.TextVAlign = Infragistics.Win.VAlign.Middle; } catch (System.Exception ex) { Console.WriteLine(ex.ToString()); } } /// /// 设置Grid 的编辑性 /// /// public static void SetRowEdit(Infragistics.Win.UltraWinGrid.UltraGridBase Grid) { foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in Grid.Rows) { row.Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit; } } /// /// 新增数据 /// /// public static void Add(Infragistics.Win.UltraWinGrid.UltraGridBase Grid) { Grid.UpdateData(); UltraGridRow ur = Grid.DisplayLayout.Bands[0].AddNew(); ur.Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; } ///// ///// 查询数据 ///// //public static void Query(RemotingGate RemotingHelp, CallingMessage par, string szTableName) //{ // string szOut = ""; // object obj = RemotingHelp.ExecuteMethod(par, out szOut); // if (szOut == "" && obj != null) // { // DataTable dt = ((DataSet)obj).Tables[0]; // dt.TableName = szTableName; // if (FrmDataSet.Tables.Contains(szTableName)) // FrmDataSet.Tables[szTableName].Clear(); // FrmDataSet.Merge(dt); // } //} /// /// 修改数据 /// /// public static void Update(Infragistics.Win.UltraWinGrid.UltraGridBase Grid) { if (Grid.ActiveRow == null) { MessageBox.Show("请确认你要修改的记录行", "提示", System.Windows.Forms.MessageBoxButtons.OK, MessageBoxIcon.Question); return; } SetRowEdit(Grid); Grid.ActiveRow.Activation = Activation.AllowEdit; } /// /// 删除数据 /// /// public static void Delete(Infragistics.Win.UltraWinGrid.UltraGrid Grid) { if (Grid.Selected.Rows.Count > 0) { System.Windows.Forms.DialogResult t = MessageBox.Show("你确认要删除选择行?", "提示", System.Windows.Forms.MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (t == System.Windows.Forms.DialogResult.Yes) { Grid.DeleteSelectedRows(false); } Grid.UpdateData(); return; } else if (Grid.DisplayLayout.ActiveRow != null) { System.Windows.Forms.DialogResult t = MessageBox.Show("你确认要删除选择行?", "提示", System.Windows.Forms.MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (t == System.Windows.Forms.DialogResult.Yes) { Grid.DisplayLayout.ActiveRow.Delete(false); } Grid.UpdateData(); return; } else { MessageBox.Show("请确认你要删除的行", "提示", System.Windows.Forms.MessageBoxButtons.OK); } } /// /// 取消当前操作 /// /// public static void Cancel(Infragistics.Win.UltraWinGrid.UltraGrid Grid, string szTableName) { if (Grid.DisplayLayout.ActiveRow != null && Grid.DisplayLayout.ActiveRow.IsAddRow) { System.Windows.Forms.DialogResult t = MessageBox.Show("已有数据改变,确认取消?", "提示", System.Windows.Forms.MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (t == System.Windows.Forms.DialogResult.Yes) { Grid.DisplayLayout.ActiveRow.Delete(false); FrmDataSet.Tables[szTableName].RejectChanges(); SetRowEdit(Grid); return; } else { return; } } Grid.UpdateData(); if (FrmDataSet.GetChanges() != null) { System.Windows.Forms.DialogResult t = MessageBox.Show("已有数据改变,确认取消?", "提示", System.Windows.Forms.MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (t == System.Windows.Forms.DialogResult.Yes) { FrmDataSet.RejectChanges(); SetRowEdit(Grid); if (Grid.ActiveCell != null) { Grid.ActiveCell.Activated = false; } } } } /// /// 取消操作 /// /// UltraGrid /// Table public static void dataCancel(Infragistics.Win.UltraWinGrid.UltraGrid Grid, DataTable dataTable) { if (Grid.DisplayLayout.ActiveRow != null && Grid.DisplayLayout.ActiveRow.IsAddRow) { System.Windows.Forms.DialogResult t = MessageBox.Show("已有数据改变,确认取消?", "提示", System.Windows.Forms.MessageBoxButtons.YesNo,MessageBoxIcon.Question); if (t == System.Windows.Forms.DialogResult.Yes) { Grid.DisplayLayout.ActiveRow.Delete(false); dataTable.RejectChanges(); SetRowEdit(Grid); return; } else { return; } } Grid.UpdateData(); if (dataTable.GetChanges() != null) { System.Windows.Forms.DialogResult t = MessageBox.Show("已有数据改变,确认取消?", "提示", System.Windows.Forms.MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (t == System.Windows.Forms.DialogResult.Yes) { dataTable.RejectChanges(); SetRowEdit(Grid); if (Grid.ActiveCell != null) { Grid.ActiveCell.Activated = false; } } } } public static bool IsDouble(string AValue) { try { Convert.ToDouble(AValue); return true; } catch { return false; } } /// /// 获取当前班次 /// /// public static string GetCurrentClass() { string szOut = ""; //hengxing //CallingMessage par = new CallingMessage(); //par.ServerName = "lgJobMgt"; //par.AssemblyName = "Core.LgMes.Server.lgJobMgt"; //par.ClassName = "Core.LgMes.Server.lgJobMgt.classCommonModule"; //par.MethodName = "GetCurrDuty"; //par.args = null; object obj = null;//hengxing ClientCommon._RemotingHelp.ExecuteMethod(par, out szOut); if (szOut == "" && obj != null) { return obj as string; } return ""; } /// /// 获取当前班次 /// /// public static string GetCurrentClass_BC() { string szOut = ""; //hengxing //CallingMessage par = new CallingMessage(); //par.ServerName = "lgJobMgt"; //par.AssemblyName = "Core.LgMes.Server.lgJobMgt"; //par.ClassName = "Core.LgMes.Server.lgJobMgt.classCommonModule"; //par.MethodName = "DateTime_BC"; //par.args = null; object obj = null;// ClientCommon._RemotingHelp.ExecuteMethod(par, out szOut); if (szOut == "" && obj != null) { return obj as string; } return ""; } /// /// 设置过滤 /// /// /// public static void SetGridRowFilter(ref UltraGrid ultGrid, bool bAllowFilter) { try { if (bAllowFilter) { ultGrid.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.True; } else { ultGrid.DisplayLayout.Bands[0].ColumnFilters.ClearAllFilters(); ultGrid.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; } } catch { } } } }