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