using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Core.Mes.Client.Comm.Server;
using Infragistics.Win;
using Infragistics.Win.UltraWinEditors;
using CoreFS.CA06;
using Infragistics.Win.UltraWinGrid;
using Infragistics.Win.UltraWinMaskedEdit;
namespace Core.StlMes.Client.ZGMil.Signature
{
public class TubeRoll
{
///
/// 初始化下拉框 --带参数的
///
///
///
///
///
///
///
public static void InitComboEditorWithParm(UltraComboEditor uce, string methodId, string valueMember, OpeBase ob, bool isEmpty, string[] parm)
{
DataTable dt = ServerHelper.GetData(methodId, new Object[] { parm }, ob);
if (dt != null && dt.Rows.Count > 0)
{
if (isEmpty)
{
Object[] obj = new Object[] { "", "" };
DataRow dr = dt.NewRow();
dr.ItemArray = obj;
dt.Rows.InsertAt(dr, 0);
}
uce.DataSource = dt;
uce.ValueMember = valueMember;
SetComboItemHeight(uce);
}
}
///
/// 初始化下拉框
///
/// 下拉框
/// 请求的服务
/// 值成员
/// ob对象
/// 是否有空行
public static void InitComboEditor(UltraComboEditor uce, string methodId, string valueMember, OpeBase ob, bool isEmpty)
{
DataTable dt = ServerHelper.GetData(methodId, null, ob);
if (dt != null && dt.Rows.Count > 0)
{
if (isEmpty)
{
Object[] obj = new Object[] { "", "" };
DataRow dr = dt.NewRow();
dr.ItemArray = obj;
dt.Rows.InsertAt(dr, 0);
}
uce.DataSource = dt;
uce.ValueMember = valueMember;
SetComboItemHeight(uce);
}
}
///
/// 初始化下拉框
///
/// 下拉框
/// 请求的服务
/// 值成员
/// ob对象
/// 是否有空行
public static void InitCombo(UltraCombo uce, string methodId, string valueMember, OpeBase ob, bool isEmpty)
{
DataTable dt = ServerHelper.GetData(methodId, null, ob);
if (dt != null && dt.Rows.Count > 0)
{
if (isEmpty)
{
Object[] obj = new Object[] { "", "" };
DataRow dr = dt.NewRow();
dr.ItemArray = obj;
dt.Rows.InsertAt(dr, 0);
}
uce.DataSource = dt;
uce.ValueMember = valueMember;
}
}
///
/// 将下拉框绑定到GRID列
///
/// 下拉框(已经初始化完成)
/// 列名
/// 空间集合(每次只需填入this.Controls)
/// GRID
/// GRID的第几层结构
public static void BindColumnComb(UltraCombo uce, string ColumnName, System.Windows.Forms.Control.ControlCollection con, UltraGrid ug, int i)
{
con.Add(uce);
uce.Visible = false;
ug.DisplayLayout.Bands[i].Columns[ColumnName].EditorComponent = uce;
ug.DisplayLayout.Bands[i].Columns[ColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
}
///
/// 设置UltraComboEditor中的中文和非中文统一高度。
///
///
public static void SetComboItemHeight(UltraComboEditor cmb)
{
foreach (ValueListItem item in cmb.Items)
{
if (System.Text.RegularExpressions.Regex.IsMatch(item.DisplayText, @"[\u4e00-\u9fa5]+"))
{
item.Appearance.FontData.SizeInPoints = 9.0F;
}
else
{
item.Appearance.FontData.SizeInPoints = 10.5F;
}
}
}
///
/// 将下拉框绑定到GRID列
///
/// 下拉框(已经初始化完成)
/// 列名
/// 空间集合(每次只需填入this.Controls)
/// GRID
/// GRID的第几层结构
public static void BindColumn(UltraComboEditor uce, string ColumnName, System.Windows.Forms.Control.ControlCollection con, UltraGrid ug, int i)
{
con.Add(uce);
uce.Visible = false;
ug.DisplayLayout.Bands[i].Columns[ColumnName].EditorComponent = uce;
ug.DisplayLayout.Bands[i].Columns[ColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown;
SetComboItemHeight(uce);
}
///
/// 将下拉框绑定到GRID行
///
/// 下拉框(已经初始化完成)
/// 列名
/// 空间集合(每次只需填入this.Controls)
/// GRID
/// GRID的第几层结构
public static void BindRow(UltraComboEditor uce, string ColumnName, System.Windows.Forms.Control.ControlCollection con, UltraGridRow ug, int i)
{
con.Add(uce);
uce.Visible = false;
ug.Cells[ColumnName].EditorComponent = uce;
ug.Cells[ColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
SetComboItemHeight(uce);
}
///
/// 将下拉框绑定到GRID行
///
/// 下拉框(已经初始化完成)
/// 列名
/// 空间集合(每次只需填入this.Controls)
/// GRID
/// GRID的第几层结构
public static void BindRow1(UltraCombo uce, string ColumnName, System.Windows.Forms.Control.ControlCollection con, UltraGridRow ug, int i)
{
con.Add(uce);
uce.Visible = false;
ug.Cells[ColumnName].EditorComponent = uce;
ug.Cells[ColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
//SetComboItemHeight1(uce);
}
///
/// 设置列显示位数重量
///
///
///
public static void setUltraGridColumnMaxInput(UltraGrid ug, string[] arr)
{
if (ug == null || arr == null || arr.Length == 0)
{
return;
}
arr.ToArray();
foreach (UltraGridColumn ugc in ug.DisplayLayout.Bands[0].Columns)
{
if (arr.Contains(ugc.Key.ToString()))
{
ugc.MaskDisplayMode = MaskMode.IncludeLiterals;
ugc.MaskInput = "{LOC}n,nnn,nnn.nnn";
}
}
}
///
/// 设置列显示位数支数
///
///
///
public static void setUltraGridColumnInput(UltraGrid ug, string[] arr)
{
if (ug == null || arr == null || arr.Length == 0)
{
return;
}
arr.ToArray();
foreach (UltraGridColumn ugc in ug.DisplayLayout.Bands[0].Columns)
{
if (arr.Contains(ugc.Key.ToString()))
{
ugc.MaskDisplayMode = MaskMode.IncludeLiterals;
ugc.MaskInput = "{LOC}nnn,nnn";
}
}
}
///
/// 获取指定分类的公用基础信息
///
/// 快速索引码
/// 界面OB对象
/// 查询数据集
public static DataTable GetComBaseInfo(string sortCode, OpeBase ob)
{
return ServerHelper.GetData("com.steering.mes.signature.FrmMilControlLog.getComBaseInfo", new object[] { sortCode }, ob);
}
///
/// 初始化下拉框(有参数)
///
/// 下拉框
/// 请求的服务
/// 值成员
/// ob对象
/// 是否有空行
public static void InitComboEditorValue(UltraComboEditor uce, string methodId, string valueMember, OpeBase ob, bool isEmpty, string sortCode)
{
DataTable dt = ServerHelper.GetData(methodId, new object[] { sortCode }, ob);
if (dt != null && dt.Rows.Count > 0)
{
if (isEmpty)
{
Object[] obj = new Object[] { "", "" };
DataRow dr = dt.NewRow();
dr.ItemArray = obj;
dt.Rows.InsertAt(dr, 0);
}
uce.DataSource = dt;
uce.ValueMember = valueMember;
//uce.DataMember = valueMember;
SetComboItemHeight(uce);
}
}
///
/// 获取两个时间段的差值
///
/// 开始时间
/// 结时时间
/// minutes
public static int JudgeTime(DateTime startTime, DateTime endTime)
{
int lStayDuration = 0;
TimeSpan odtSpan;
if (endTime > startTime)
{
odtSpan = endTime - startTime;
lStayDuration = Convert.ToInt32(System.Math.Round(odtSpan.TotalMinutes));
}
else
{
odtSpan = startTime - endTime;
lStayDuration = Convert.ToInt32(System.Math.Round(odtSpan.TotalMinutes));
}
return lStayDuration;
}
///
/// 获取两个时间段的差值
///
/// 开始时间
/// 结时时间
/// minutes
public static int JudgeTimeMax(DateTime startTime, DateTime endTime)
{
int lStayDuration = 0;
TimeSpan odtSpan;
if (endTime > startTime)
{
odtSpan = endTime - startTime;
lStayDuration = Convert.ToInt32(System.Math.Round(odtSpan.TotalMinutes));
}
return lStayDuration;
}
///
/// 列求和重量
///
/// UltraGrid
/// 列数组(重量)
public static void GridColumnSum(UltraGrid ug, string[] columnKeys)
{
if (columnKeys.Length == 0)
{
return;
}
for (int i = 0; i < columnKeys.Length; i++)
{
SummarySettings summary = ug.DisplayLayout.Bands[0].Summaries.Add(SummaryType.Sum, ug.DisplayLayout.Bands[0].Columns[columnKeys[i]], SummaryPosition.UseSummaryPositionColumn);
summary.DisplayFormat = "{0:N2}";
summary.Appearance.TextHAlign = Infragistics.Win.HAlign.Right;
}
}
///
/// 统计放grid前
///
///
public static void SetGridSumArea(Infragistics.Win.UltraWinGrid.UltraGridBase Grid)
{
try
{
//Grid.DisplayLayout.GroupByBox.Hidden
if (Grid.Rows.Count == 0)
{
foreach (Infragistics.Win.UltraWinGrid.UltraGridBand band in Grid.DisplayLayout.Bands)
{
foreach (Infragistics.Win.UltraWinGrid.SummarySettings sum in band.Summaries)
{
sum.SummaryDisplayArea = Infragistics.Win.UltraWinGrid.SummaryDisplayAreas.None;
}
}
}
else
{
foreach (Infragistics.Win.UltraWinGrid.UltraGridBand band in Grid.DisplayLayout.Bands)
{
foreach (Infragistics.Win.UltraWinGrid.SummarySettings sum in band.Summaries)
{
if (Grid.DisplayLayout.GroupByBox.Hidden)
{
sum.SummaryDisplayArea = Infragistics.Win.UltraWinGrid.SummaryDisplayAreas.Top;
}
else
{
sum.SummaryDisplayArea = ((Infragistics.Win.UltraWinGrid.SummaryDisplayAreas)((Infragistics.Win.UltraWinGrid.SummaryDisplayAreas.Top | Infragistics.Win.UltraWinGrid.SummaryDisplayAreas.InGroupByRows | Infragistics.Win.UltraWinGrid.SummaryDisplayAreas.GroupByRowsFooter)));
}
}
}
}
}
catch (System.Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
}
}
}
}