BaoKai_202508-Wms-Jingwang..../WMS.Ctrl/DevExpressCustom/GridControlCustom.cs
2025-08-24 09:35:55 +08:00

2021 lines
77 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Windows;
using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Views.Grid;
using System.Drawing;
using System.ComponentModel;
using System.Windows.Forms;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;
using DevExpress.XtraGrid.Columns;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Xml;
using DevExpress.XtraGrid.Views.Grid.ViewInfo;
using DevExpress.XtraEditors.Repository;
using DevExpress.XtraEditors;
using DevExpress.Utils;
using System.Reflection;
using DevExpress.XtraGrid.Views.Base;
using DevExpress.XtraGrid.Registrator;
namespace WMS.Ctrl
{
[System.ComponentModel.ComplexBindingProperties("DataSource", "DataMember")] //添加到自定义UI绑定里
public class GridControlCustom : GridControl
{
#region
private Bitmap _Image = null;
private Bitmap _ImageOld = null;
private Boolean showRowID = true;
private int indicatorWidth = 40;
bool addEvent = false;
GridHitInfo hitInfoPopupMenu = null;
#endregion
#region
Boolean isMouseClieck = false;
private System.Windows.Forms.ContextMenuStrip contextMenuGridControlCustom;
//private System.Windows.Forms.ToolStripMenuItem tCut;
private System.Windows.Forms.ToolStripMenuItem tDeleteRow;//删除行
private System.Windows.Forms.ToolStripMenuItem tCopy;
private System.Windows.Forms.ToolStripMenuItem tCopyData;
private System.Windows.Forms.ToolStripMenuItem tCopyRow;
//private System.Windows.Forms.ToolStripMenuItem tPaste;
private System.Windows.Forms.ToolStripSeparator tStripSeparator1;
private System.Windows.Forms.ToolStripMenuItem tFixedTrue;
private System.Windows.Forms.ToolStripMenuItem tFixedAllFalse;
private System.Windows.Forms.ToolStripMenuItem tFixedLeft;
/// <summary>
/// 显示脚区
/// </summary>
private System.Windows.Forms.ToolStripMenuItem tShowFooter;
private IContainer components;
private System.Windows.Forms.ToolStripSeparator tStripSeparator2;
private System.Windows.Forms.ToolStripMenuItem tSaveStyle;
private System.Windows.Forms.ToolStripMenuItem tCloseStyle; //缺货
private System.Windows.Forms.ToolStripSeparator tStripSeparator3;
private System.Windows.Forms.ToolStripMenuItem tSelectAll; //全选
private System.Windows.Forms.ToolStripMenuItem tUnSelectAll; //全取消
private System.Windows.Forms.ToolStripMenuItem tExportLayout; //全取消
private ToolStripSeparator tStripSeparator4;
private ToolStripMenuItem tExpandAll;
private ToolStripMenuItem tCollapseAll;
private ToolStripMenuItem tColFind;
private ToolStripMenuItem tColGroup;
private ToolStripSeparator tStripSeparator5;
#endregion
#region
/// <summary>
/// 是否显示行号
/// </summary>
[Category("自定义属性"), Description("显示行号")]
public Boolean ShowRowID
{
get { return showRowID; }
set { showRowID = value; }
}
/// <summary>
/// 默认行号宽度
/// </summary>
[Category("自定义属性"), Description("行号宽度")]
public int IndicatorWidth
{
get { return indicatorWidth; }
set { indicatorWidth = value; }
}
private string colorVerifyFlagColumn;
/// <summary>
/// 审核标志列名
/// </summary>
[Category("自定义属性"), Description("审核标志列名")]
public string ColorVerifyFlagColumn
{
get { return colorVerifyFlagColumn; }
set { colorVerifyFlagColumn = value; }
}
private string colorShortageFlagColumn;
/// <summary>
/// 警示标志列名
/// </summary>
[Category("自定义属性"), Description("警示标志列名")]
public string ColorShortageFlagColumn
{
get { return colorShortageFlagColumn; }
set { colorShortageFlagColumn = value; }
}
private bool enableAppearanceEvenRow = true;//是否允许隔行显示
/// <summary>
/// 是否允许隔行显示
/// </summary>
[Category("自定义属性"), Description("是否允许隔行显示")]
public bool EnableAppearanceEvenRow
{
get
{
return enableAppearanceEvenRow;
}
set
{
enableAppearanceEvenRow = value;
this.Invalidate();
}
}
#endregion
#region
/// <summary>
/// 选中行颜色
/// </summary>
private Color colorSelectedRow = System.Drawing.Color.Empty;
private Color colorSelectedRowDefault = ColorCustom.SelectedRow;
/// <summary>
/// 选中行颜色
/// </summary>
[Category("自定义属性"), Description("选中行颜色")]
public Color ColorSelectedRow
{
get
{
return colorSelectedRow;
}
set
{
colorSelectedRow = value;
}
}
private Color colorVerify = System.Drawing.Color.Empty; //已审核
private Color colorVerifyDefault = ColorCustom.Verify; //已审核
/// <summary>
/// 已审核:1 默认颜色:Lime
/// </summary>
[Category("自定义属性"), Description("已审核:1 默认颜色:Lime")]
public Color ColorVerify
{
get { return colorVerify; }
set
{
colorVerify = value;
if (colorVerify != System.Drawing.Color.Empty)
{
colorVerifyDefault = colorVerify;
}
}
}
private string colorVerifyValue;
private string colorVerifyValueDefault = "1";
/// <summary>
/// 已审核标志值,默认值:1
/// </summary>
[Category("自定义属性"), Description("已审核标志值,默认值:1")]
public string ColorVerifyValue
{
get { return colorVerifyValue; }
set
{
colorVerifyValue = value;
if (!string.IsNullOrWhiteSpace(colorVerifyValue))
{
colorVerifyValueDefault = colorVerifyValue;
}
}
}
private Color colorUnExecute = System.Drawing.Color.Empty; //审核未执行
private Color colorUnExecuteDefault = ColorCustom.UnExecute; //审核未执行
/// <summary>
/// 审核未执行:2 默认颜色:Cyan
/// </summary>
[Category("自定义属性"), Description("审核未执行:2 默认颜色:Cyan")]
public Color ColorUnExecute
{
get { return colorUnExecute; }
set
{
colorUnExecute = value;
if (colorUnExecute != System.Drawing.Color.Empty)
{
colorUnExecuteDefault = colorUnExecute;
}
}
}
private string colorUnExecuteValue;
private string colorUnExecuteValueDefault = "2";
/// <summary>
/// 审核未执行标志值,默认值:2
/// </summary>
[Category("自定义属性"), Description("审核未执行标志值,默认值:2")]
public string ColorUnExecuteValue
{
get { return colorUnExecuteValue; }
set
{
colorUnExecuteValue = value;
if (!string.IsNullOrWhiteSpace(colorUnExecuteValue))
{
colorUnExecuteValueDefault = colorUnExecuteValue;
}
}
}
private Color colorApprove = System.Drawing.Color.Empty; //审批中
private Color colorApproveDefault = ColorCustom.Approve; //审批中
/// <summary>
/// 审批中:3 默认颜色:LightCyan
/// </summary>
[Category("自定义属性"), Description("审批中:3 默认颜色:LightCyan")]
public Color ColorApprove
{
get { return colorApprove; }
set
{
colorApprove = value;
if (colorApprove != System.Drawing.Color.Empty)
{
colorApproveDefault = colorApprove;
}
}
}
private string colorApproveValue;
private string colorApproveValueDefault = "3";
/// <summary>
/// 审批中标志值,默认值:3
/// </summary>
[Category("自定义属性"), Description("审批中标志值,默认值:3")]
public string ColorApproveValue
{
get { return colorApproveValue; }
set
{
colorApproveValue = value;
if (!string.IsNullOrWhiteSpace(colorApproveValue))
{
colorApproveValueDefault = colorApproveValue;
}
}
}
private Color colorUnPass = System.Drawing.Color.Empty; //未通过
private Color colorUnPassDefault = ColorCustom.UnPass; //未通过
/// <summary>
/// 未通过:4 默认颜色:SandyBrown
/// </summary>
[Category("自定义属性"), Description("未通过:4 默认颜色:SandyBrown")]
public Color ColorUnPass
{
get { return colorUnPass; }
set
{
colorUnPass = value;
if (colorUnPass != System.Drawing.Color.Empty)
{
colorUnPassDefault = colorUnPass;
}
}
}
private string colorUnPassValue;
private string colorUnPassValueDefault = "4";
/// <summary>
/// 未通过标志值,默认值:4
/// </summary>
[Category("自定义属性"), Description("未通过标志值,默认值:4")]
public string ColorUnPassValue
{
get { return colorUnPassValue; }
set
{
colorUnPassValue = value;
if (!string.IsNullOrWhiteSpace(colorUnPassValue))
{
colorUnPassValueDefault = colorUnPassValue;
}
}
}
private Color colorPass = System.Drawing.Color.Empty; //通过
private Color colorPassDefault = ColorCustom.Pass; //通过
/// <summary>
/// 通过:5 默认颜色:DeepSkyBlue
/// </summary>
[Category("自定义属性"), Description("通过:5 默认颜色:DeepSkyBlue")]
public Color ColorPass
{
get { return colorPass; }
set
{
colorPass = value;
if (colorPass != System.Drawing.Color.Empty)
{
colorPassDefault = colorPass;
}
}
}
private string colorPassValue;
private string colorPassValueDefault = "5";
/// <summary>
/// 通过标志值,默认值:5
/// </summary>
[Category("自定义属性"), Description("通过标志值,默认值:5")]
public string ColorPassValue
{
get { return colorPassValue; }
set
{
colorPassValue = value;
if (!string.IsNullOrWhiteSpace(colorPassValue))
{
colorPassValueDefault = colorPassValue;
}
}
}
private Color colorRepeal = System.Drawing.Color.Empty; //废除
private Color colorRepealDefault = ColorCustom.Repeal; //废除
/// <summary>
/// 废除:6 默认颜色:Gainsboro
/// </summary>
[Category("自定义属性"), Description("废除:6 默认颜色:Gainsboro")]
public Color ColorRepeal
{
get { return colorRepeal; }
set
{
colorRepeal = value;
if (colorRepeal != System.Drawing.Color.Empty)
{
colorRepealDefault = colorRepeal;
}
}
}
private string colorRepealValue;
private string colorRepealValueDefault = "6";
/// <summary>
/// 废除标志值,默认值:6
/// </summary>
[Category("自定义属性"), Description("废除标志值,默认值:6")]
public string ColorRepealValue
{
get { return colorRepealValue; }
set
{
colorRepealValue = value;
if (!string.IsNullOrWhiteSpace(colorRepealValue))
{
colorRepealValueDefault = colorRepealValue;
}
}
}
private Color colorReWork = System.Drawing.Color.Empty;
private Color colorReWorkDefault = ColorCustom.ReWork; //缺货
/// <summary>
/// 驳回:7 默认颜色:PaleTurquoise
/// </summary>
[Category("自定义属性"), Description("驳回:7 默认颜色:PaleTurquoise")]
public Color ColorReWork
{
get { return colorReWork; }
set
{
colorReWork = value;
if (colorReWork != System.Drawing.Color.Empty)
{
colorReWorkDefault = colorReWork;
}
}
}
private string colorReWorkValue;
private string colorReWorkValueDefault = "7";
/// <summary>
/// 驳回标志值,默认值:7
/// </summary>
[Category("自定义属性"), Description("驳回标志值,默认值:7")]
public string ColorReWorkValue
{
get { return colorReWorkValue; }
set
{
colorReWorkValue = value;
if (!string.IsNullOrWhiteSpace(colorReWorkValue))
{
colorReWorkValueDefault = colorReWorkValue;
}
}
}
private Color colorShortage = System.Drawing.Color.Empty;
private Color colorShortageDefault = ColorCustom.Shortage; //缺货
/// <summary>
/// 缺货:8 默认颜色:WMStyRose
/// </summary>
[Category("自定义属性"), Description("缺货:8 默认颜色:WMStyRose")]
public Color ColorShortage
{
get { return colorShortage; }
set
{
colorShortage = value;
if (colorShortage != System.Drawing.Color.Empty)
{
colorShortageDefault = colorShortage;
}
}
}
private string colorShortageValue;
private string colorShortageValueDefault = "8";
/// <summary>
/// 缺货标志值,默认值:8
/// </summary>
[Category("自定义属性"), Description("缺货标志值,默认值:8")]
public string ColorShortageValue
{
get { return colorShortageValue; }
set
{
colorShortageValue = value;
if (!string.IsNullOrWhiteSpace(colorShortageValue))
{
colorShortageValueDefault = colorShortageValue;
}
}
}
private Color colorWarning = System.Drawing.Color.Empty;
private Color colorWarningDefault = ColorCustom.Warning; //缺货
/// <summary>
/// 警示:9 默认颜色:Red
/// </summary>
[Category("自定义属性"), Description("警示:9 默认颜色:Red")]
public Color ColorWarning
{
get { return colorWarning; }
set
{
colorWarning = value;
if (colorWarning != System.Drawing.Color.Empty)
{
colorWarningDefault = colorWarning;
}
}
}
private string colorWarningValue;
private string colorWarningValueDefault = "9";
/// <summary>
/// 警示标志值,默认值:9
/// </summary>
[Category("自定义属性"), Description("警示标志值,默认值:9")]
public string ColorWarningValue
{
get { return colorWarningValue; }
set
{
colorWarningValue = value;
if (!string.IsNullOrWhiteSpace(colorWarningValue))
{
colorWarningValueDefault = colorWarningValue;
}
}
}
#endregion
#region
/// <summary>
/// 构造函数
/// </summary>
public GridControlCustom()
{
InitializeComponent();
}
/// <summary>
/// 构造控件
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.contextMenuGridControlCustom = new System.Windows.Forms.ContextMenuStrip(this.components);
this.tDeleteRow = new System.Windows.Forms.ToolStripMenuItem();
this.tCopy = new System.Windows.Forms.ToolStripMenuItem();
this.tCopyData = new System.Windows.Forms.ToolStripMenuItem();
this.tCopyRow = new System.Windows.Forms.ToolStripMenuItem();
this.tStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.tFixedTrue = new System.Windows.Forms.ToolStripMenuItem();
this.tFixedLeft = new System.Windows.Forms.ToolStripMenuItem();
this.tFixedAllFalse = new System.Windows.Forms.ToolStripMenuItem();
this.tShowFooter = new System.Windows.Forms.ToolStripMenuItem();
this.tStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.tSaveStyle = new System.Windows.Forms.ToolStripMenuItem();
this.tCloseStyle = new System.Windows.Forms.ToolStripMenuItem();
this.tExportLayout = new System.Windows.Forms.ToolStripMenuItem();
this.tStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.tSelectAll = new System.Windows.Forms.ToolStripMenuItem();
this.tUnSelectAll = new System.Windows.Forms.ToolStripMenuItem();
this.tColFind = new System.Windows.Forms.ToolStripMenuItem();
this.tColGroup = new System.Windows.Forms.ToolStripMenuItem();
this.tStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
this.tExpandAll = new System.Windows.Forms.ToolStripMenuItem();
this.tCollapseAll = new System.Windows.Forms.ToolStripMenuItem();
this.tStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
//
// contextMenuGridControlCustom
//
this.contextMenuGridControlCustom.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tDeleteRow,
this.tCopy,
this.tCopyData,
this.tCopyRow,
this.tStripSeparator1,
this.tFixedTrue,
this.tFixedLeft,
this.tFixedAllFalse,
this.tShowFooter,
this.tStripSeparator2,
this.tSaveStyle,
this.tCloseStyle,
this.tExportLayout,
this.tStripSeparator3,
this.tSelectAll,
this.tUnSelectAll,
this.tStripSeparator5,
this.tColFind,
this.tColGroup,
this.tStripSeparator4,
this.tExpandAll,
this.tCollapseAll
});
this.contextMenuGridControlCustom.Name = "contextMenuGridControlCustom1";
this.contextMenuGridControlCustom.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
this.contextMenuGridControlCustom.Size = new System.Drawing.Size(171, 358);
this.contextMenuGridControlCustom.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuGridControlCustom_Opening);
//
// tDeleteRow
//
this.tDeleteRow.Image = global::WMS.Ctrl.Properties.Resources.delete;
this.tDeleteRow.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.tDeleteRow.Name = "tDeleteRow";
this.tDeleteRow.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C)));
this.tDeleteRow.Size = new System.Drawing.Size(170, 22);
this.tDeleteRow.Text = "删除";
this.tDeleteRow.Click += new System.EventHandler(this.tDeleteRow_Click);
this.tDeleteRow.MouseDown += new System.Windows.Forms.MouseEventHandler(this.tMouseDown_Click);
//
// tCopy
//
this.tCopy.Image = global::WMS.Ctrl.Properties.Resources.Copy;
this.tCopy.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.tCopy.Name = "tCopy";
this.tCopy.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C)));
this.tCopy.Size = new System.Drawing.Size(170, 22);
this.tCopy.Text = "复制";
this.tCopy.Click += new System.EventHandler(this.tCopy_Click);
this.tCopy.MouseDown += new System.Windows.Forms.MouseEventHandler(this.tMouseDown_Click);
//
// tCopyData
//
this.tCopyData.Image = global::WMS.Ctrl.Properties.Resources.CopyData;
this.tCopyData.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.tCopyData.Name = "tCopyData";
this.tCopyData.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.D)));
this.tCopyData.Size = new System.Drawing.Size(170, 22);
this.tCopyData.Text = "复制数据";
this.tCopyData.Click += new System.EventHandler(this.tCopyData_Click);
this.tCopyData.MouseDown += new System.Windows.Forms.MouseEventHandler(this.tMouseDown_Click);
//
// tCopyRow
//
this.tCopyRow.Image = global::WMS.Ctrl.Properties.Resources.TableMultiple;
this.tCopyRow.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.tCopyRow.Name = "tCopyRow";
this.tCopyRow.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.E)));
this.tCopyRow.Size = new System.Drawing.Size(170, 22);
this.tCopyRow.Text = "复制行";
this.tCopyRow.Click += new System.EventHandler(this.tCopyRow_Click);
this.tCopyRow.MouseDown += new System.Windows.Forms.MouseEventHandler(this.tMouseDown_Click);
//
// tStripSeparator1
//
this.tStripSeparator1.Name = "tStripSeparator1";
this.tStripSeparator1.Size = new System.Drawing.Size(167, 6);
//
// tFixedTrue
//
this.tFixedTrue.Image = global::WMS.Ctrl.Properties.Resources.FixedTreu;
this.tFixedTrue.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.tFixedTrue.Name = "tFixedTrue";
this.tFixedTrue.Size = new System.Drawing.Size(170, 22);
this.tFixedTrue.Text = "锁定当前列";
this.tFixedTrue.Click += new System.EventHandler(this.tFixedTrue_Click);
this.tFixedTrue.MouseDown += new System.Windows.Forms.MouseEventHandler(this.tMouseDown_Click);
//
// tFixedLeft
//
// this.tFixedLeft.Image = global::Erp.Ctrl.Properties.Resources.tFixedLeft;
this.tFixedLeft.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.tFixedLeft.Name = "tFixedLeft";
this.tFixedLeft.Size = new System.Drawing.Size(170, 22);
this.tFixedLeft.Text = "锁定左侧列";
this.tFixedLeft.Click += new System.EventHandler(this.tFixedLeft_Click);
this.tFixedLeft.MouseDown += new System.Windows.Forms.MouseEventHandler(this.tMouseDown_Click);
//
// tFixedAllFalse
//
this.tFixedAllFalse.Image = global::WMS.Ctrl.Properties.Resources.tFixedFalse;
this.tFixedAllFalse.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.tFixedAllFalse.Name = "tFixedAllFalse";
this.tFixedAllFalse.Size = new System.Drawing.Size(170, 22);
this.tFixedAllFalse.Text = "解除全部锁定";
this.tFixedAllFalse.Click += new System.EventHandler(this.tFixedAllFalse_Click);
this.tFixedAllFalse.MouseDown += new System.Windows.Forms.MouseEventHandler(this.tMouseDown_Click);
//
// tShowFooter
//
this.tShowFooter.Checked = true;
this.tShowFooter.CheckState = System.Windows.Forms.CheckState.Checked;
this.tShowFooter.Image = global::WMS.Ctrl.Properties.Resources.Footer;
this.tShowFooter.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.tShowFooter.Name = "tShowFooter";
this.tShowFooter.Size = new System.Drawing.Size(170, 22);
this.tShowFooter.Text = "显示合计区";
this.tShowFooter.Click += new System.EventHandler(this.tShowFooter_Click);
this.tShowFooter.MouseDown += new System.Windows.Forms.MouseEventHandler(this.tMouseDown_Click);
//
// tStripSeparator2
//
this.tStripSeparator2.Name = "tStripSeparator2";
this.tStripSeparator2.Size = new System.Drawing.Size(167, 6);
//
// tSaveStyle
//
this.tSaveStyle.Image = global::WMS.Ctrl.Properties.Resources.AlignToGridHS;
this.tSaveStyle.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.tSaveStyle.Name = "tSaveStyle";
this.tSaveStyle.Size = new System.Drawing.Size(170, 22);
this.tSaveStyle.Text = "记忆样式";
this.tSaveStyle.Click += new System.EventHandler(this.tSaveStyle_Click);
this.tSaveStyle.MouseDown += new System.Windows.Forms.MouseEventHandler(this.tMouseDown_Click);
//
// tCloseStyle
//
this.tCloseStyle.Image = global::WMS.Ctrl.Properties.Resources.DeleteHS;
this.tCloseStyle.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.tCloseStyle.Name = "tCloseStyle";
this.tCloseStyle.Size = new System.Drawing.Size(170, 22);
this.tCloseStyle.Text = "清除样式";
this.tCloseStyle.Click += new System.EventHandler(this.tCloseStyle_Click);
this.tCloseStyle.MouseDown += new System.Windows.Forms.MouseEventHandler(this.tMouseDown_Click);
//
// tExportLayout
//
this.tExportLayout.Image = global::WMS.Ctrl.Properties.Resources.SaveAsWebPageHS;
this.tExportLayout.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.tExportLayout.Name = "tExportLayout";
this.tExportLayout.Size = new System.Drawing.Size(170, 22);
this.tExportLayout.Text = "导出布局";
this.tExportLayout.Click += new System.EventHandler(this.tExportLayout_Click);
this.tExportLayout.MouseDown += new System.Windows.Forms.MouseEventHandler(this.tMouseDown_Click);
//
// tStripSeparator3
//
this.tStripSeparator3.Name = "tStripSeparator3";
this.tStripSeparator3.Size = new System.Drawing.Size(167, 6);
//
// tSelectAll
//
this.tSelectAll.Image = global::WMS.Ctrl.Properties.Resources.tFixedFalse;
this.tSelectAll.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.tSelectAll.Name = "tSelectAll";
this.tSelectAll.Size = new System.Drawing.Size(170, 22);
this.tSelectAll.Text = "全选";
this.tSelectAll.Click += new System.EventHandler(this.tSelectAll_Click);
this.tSelectAll.MouseDown += new System.Windows.Forms.MouseEventHandler(this.tMouseDown_Click);
//
// tUnSelectAll
//
this.tUnSelectAll.Image = global::WMS.Ctrl.Properties.Resources.tFixedFalse;
this.tUnSelectAll.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.tUnSelectAll.Name = "tUnSelectAll";
this.tUnSelectAll.Size = new System.Drawing.Size(170, 22);
this.tUnSelectAll.Text = "全取消";
this.tUnSelectAll.Click += new System.EventHandler(this.tUnSelectAll_Click);
this.tUnSelectAll.MouseDown += new System.Windows.Forms.MouseEventHandler(this.tMouseDown_Click);
//
// tColFind
//
this.tColFind.Image = global::WMS.Ctrl.Properties.Resources.Find;
this.tColFind.Name = "tColFind";
this.tColFind.Size = new System.Drawing.Size(170, 22);
this.tColFind.Text = "列筛选";
this.tColFind.Click += new System.EventHandler(this.tColFind_Click);
//
// tColGroup
//
this.tColGroup.Image = global::WMS.Ctrl.Properties.Resources.Formula;
this.tColGroup.Name = "tColGroup";
this.tColGroup.Size = new System.Drawing.Size(170, 22);
this.tColGroup.Text = "列表汇总";
this.tColGroup.Click += new System.EventHandler(this.tColGroup_Click);
//
// tStripSeparator4
//
this.tStripSeparator4.Name = "tStripSeparator4";
this.tStripSeparator4.Size = new System.Drawing.Size(167, 6);
//
// tExpandAll
//
this.tExpandAll.Image = global::WMS.Ctrl.Properties.Resources.Book_openHS;
this.tExpandAll.Name = "tExpandAll";
this.tExpandAll.Size = new System.Drawing.Size(170, 22);
this.tExpandAll.Text = "全展开";
this.tExpandAll.Click += new System.EventHandler(this.tExpandAll_Click);
//
// tCollapseAll
//
this.tCollapseAll.Image = global::WMS.Ctrl.Properties.Resources.Book_angleHS;
this.tCollapseAll.Name = "tCollapseAll";
this.tCollapseAll.Size = new System.Drawing.Size(170, 22);
this.tCollapseAll.Text = "全收缩";
this.tCollapseAll.Click += new System.EventHandler(this.tCollapseAll_Click);
//
// tStripSeparator5
//
this.tStripSeparator5.Name = "tStripSeparator5";
this.tStripSeparator5.Size = new System.Drawing.Size(167, 6);
//
// GridControlCustom
//
this.ContextMenuStrip = this.contextMenuGridControlCustom;
this.Load += new System.EventHandler(this.GridControlCustom_Load);
this.Paint += new System.Windows.Forms.PaintEventHandler(this.GridControlCustom_Paint);
}
#endregion
#region
/// <summary>
/// 初始化
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void GridControlCustom_Load(object sender, EventArgs e)
{
try
{
GridView gvGridControlCustom = this.MainView as GridView;
// gvGridControlCustom.OptionsBehavior.Editable = false;
gvGridControlCustom.OptionsView.ShowGroupPanel = false;
// gvGridControlCustom.OptionsView.ColumnAutoWidth = false;
if (gvGridControlCustom == null) return;
//隔行色显示
if (EnableAppearanceEvenRow)
{
gvGridControlCustom.OptionsView.EnableAppearanceEvenRow = true;
gvGridControlCustom.Appearance.EvenRow.BackColor = Color.FromArgb(240, 240, 250);
}
gvGridControlCustom.OptionsView.ColumnAutoWidth = false;
//焦点行颜色
gvGridControlCustom.Appearance.FocusedRow.BackColor = colorSelectedRow;
gvGridControlCustom.Appearance.SelectedRow.BackColor = colorSelectedRow;
//点击事件
gvGridControlCustom.PopupMenuShowing += new DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventHandler(this.gridView_PopupMenuShowing);
//设置审核Status颜色事件 和焦点行变色
gvGridControlCustom.RowCellStyle -= new DevExpress.XtraGrid.Views.Grid.RowCellStyleEventHandler(this.gridView_RowCellStyle);
gvGridControlCustom.RowCellStyle += new DevExpress.XtraGrid.Views.Grid.RowCellStyleEventHandler(this.gridView_RowCellStyle);
//列表行号显示
if (ShowRowID)
{
//gvGridControlCustom.IndicatorWidth = this.IndicatorWidth;
gvGridControlCustom.CustomDrawRowIndicator -= new DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventHandler(this.gridView_CustomDrawRowIndicator);
gvGridControlCustom.CustomDrawRowIndicator += new DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventHandler(this.gridView_CustomDrawRowIndicator);
gvGridControlCustom.RowCountChanged -= new EventHandler(this.gridView_RowCountChanged);
gvGridControlCustom.RowCountChanged += new EventHandler(this.gridView_RowCountChanged);
//
}
if (!addEvent)
{
if (gvGridControlCustom != null && _Image != null)
{
gvGridControlCustom.LeftCoordChanged += new EventHandler(gvGridControlCustom_LeftCoordChanged);
gvGridControlCustom.TopRowChanged += new EventHandler(gvGridControlCustom_TopRowChanged);
gvGridControlCustom.RowCellStyle += new RowCellStyleEventHandler(gvGridControlCustom_RowCellStyle);
gvGridControlCustom.MouseWheel += new MouseEventHandler(gvGridControlCustom_MouseWheel);
addEvent = true;
}
}
//加载样式
LoadStyle();
}
catch { }
}
/// <summary>
/// 初始化列标题
/// </summary>
private void InitColumnHead()
{
try
{ }
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
#endregion
#region
/// <summary>
/// 设置审核标识图片
/// </summary>
/// <param name="flag">审核标识</param>
public void SetVerifyFlagImage(string flag)
{
try
{
if (!addEvent)
{
GridView gvGridControlCustom = (DevExpress.XtraGrid.Views.Grid.GridView)this.MainView;
if (gvGridControlCustom != null)
{
gvGridControlCustom.LeftCoordChanged += new EventHandler(gvGridControlCustom_LeftCoordChanged);
gvGridControlCustom.TopRowChanged += new EventHandler(gvGridControlCustom_TopRowChanged);
gvGridControlCustom.RowCellStyle += new RowCellStyleEventHandler(gvGridControlCustom_RowCellStyle);
gvGridControlCustom.MouseWheel += new MouseEventHandler(gvGridControlCustom_MouseWheel);
addEvent = true;
}
}
if (flag == "0")
{
_Image = WMS.Ctrl.Properties.Resources.;
}
else if (flag == "1")
{
_Image = WMS.Ctrl.Properties.Resources.;
}
else if (flag == "2")
{
_Image = WMS.Ctrl.Properties.Resources.;
}
else if (flag == "3")
{
_Image = WMS.Ctrl.Properties.Resources.;
}
else if (flag == "4")
{
_Image = WMS.Ctrl.Properties.Resources.;
}
else if (flag == "5")
{
_Image = WMS.Ctrl.Properties.Resources.;
}
else if (flag == "6")
{
_Image = WMS.Ctrl.Properties.Resources.;
}
else if (flag == "7")
{
_Image = WMS.Ctrl.Properties.Resources.;
}
else if (flag == "8")
{
_Image = WMS.Ctrl.Properties.Resources.;
}
this.Invalidate();
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 设置审核标识图片
/// </summary>
///// <param name="flag">图片</param>
public void SetVerifyFlagImage(Bitmap image)
{
try
{
_Image = image;
this.Invalidate();
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
#region
/// <summary>
/// 清空审核标识图片
/// </summary>
/// <param name="flag">审核标识</param>
public void ClearVerifyFlagImage()
{
try
{
_Image = null;
if (addEvent)
{
GridView gvGridControlCustom = (DevExpress.XtraGrid.Views.Grid.GridView)this.MainView;
if (gvGridControlCustom != null)
{
gvGridControlCustom.LeftCoordChanged -= new EventHandler(gvGridControlCustom_LeftCoordChanged);
gvGridControlCustom.TopRowChanged -= new EventHandler(gvGridControlCustom_TopRowChanged);
gvGridControlCustom.RowCellStyle -= new RowCellStyleEventHandler(gvGridControlCustom_RowCellStyle);
gvGridControlCustom.MouseWheel -= new MouseEventHandler(gvGridControlCustom_MouseWheel);
}
addEvent = false;
}
this.Invalidate();
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
#region
/// <summary>
/// 界面绘制事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void GridControlCustom_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
try
{
if (_Image == null)
{
return;
}
Graphics g = e.Graphics;
int x = Convert.ToInt32(this.Width - (_Image.Width / Math.Sqrt(2) + _Image.Width / 2 * Math.Sqrt(2)) / 2 - _Image.Width / 2) + 20;
int y = Convert.ToInt32(this.Height - (_Image.Width / Math.Sqrt(2) + _Image.Width / 2 * Math.Sqrt(2)) / 2 - _Image.Height / 2) + 20;
int width = _Image.Width;
int height = _Image.Height;
ImageAttributes imageAttr = new ImageAttributes();
ColorMatrix matrix = new ColorMatrix();
matrix.Matrix33 = 0.5f; //透明度
imageAttr.SetColorMatrix(matrix);
Rectangle rect = new Rectangle(0, 0, width, height);
Point[] points = { new Point(0 - width / 2, 0 - height / 2), new Point(width - width / 2, 0 - height / 2), new Point(0 - width / 2, height - height / 2) };
Matrix matrixRotate = new Matrix(1, 0, 0, 1, x + width / 2, y + height / 2);// 定义一个UNIT矩阵坐标原点在(x,y)
matrixRotate.Rotate(-45); // 逆时针旋转45度
//matrix.Scale((float)2, (float)2); // X 和 Y 方向分别乘以0.63和0.6比例因子
matrixRotate.TransformPoints(points);// 用该矩阵转换points
g.DrawImage(_Image, points, rect, GraphicsUnit.Pixel, imageAttr);
}
catch { }
}
#endregion
#region
private void contextMenuGridControlCustom_Opening(object sender, CancelEventArgs e)
{
try
{
//(sender as ContextMenuStrip).Tag = (sender as ContextMenuStrip).SourceControl;
GridView gv = this.MainView as GridView;
if (gv == null)
{
this.tStripSeparator3.Visible = false;
this.tSelectAll.Visible = false;
this.tUnSelectAll.Visible = false;
return;
}
if (gv.OptionsView.ShowFooter)
{
this.tShowFooter.Text = "隐藏合计区";
}
else
{
this.tShowFooter.Text = "显示合计区";
}
if (gv == null || gv.SelectedRowsCount <= 0)
{
this.tCopyRow.Enabled = false;
}
else
{
this.tCopyRow.Enabled = true;
}
if (gv.FocusedColumn == null)
{
this.tStripSeparator3.Visible = false;
this.tSelectAll.Visible = false;
this.tUnSelectAll.Visible = false;
return;
}
DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit chkEdit = gv.FocusedColumn.ColumnEdit as DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit;
if (chkEdit == null)
{
this.tStripSeparator3.Visible = false;
this.tSelectAll.Visible = false;
this.tUnSelectAll.Visible = false;
return;
}
if (gv.OptionsBehavior.Editable == false ||
gv.OptionsBehavior.ReadOnly == true ||
gv.FocusedColumn.OptionsColumn.AllowEdit == false ||
gv.FocusedColumn.OptionsColumn.ReadOnly == true)
{
this.tStripSeparator3.Visible = false;
this.tSelectAll.Visible = false;
this.tUnSelectAll.Visible = false;
return;
}
else
{
this.tStripSeparator3.Visible = true;
this.tSelectAll.Visible = true;
this.tUnSelectAll.Visible = true;
}
}
catch (Exception ex)
{
}
}
private void gridView_PopupMenuShowing(object sender, DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventArgs e)
{
hitInfoPopupMenu = e.HitInfo;
}
/// <summary>
/// 点击事件之前执行事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tBefore_Click(object sender, EventArgs e)
{
isMouseClieck = false;
}
/// <summary>
/// 复制
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tMouseDown_Click(object sender, MouseEventArgs e)
{
isMouseClieck = true;
}
/// <summary>
/// 删除行
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tDeleteRow_Click(object sender, EventArgs e)
{
try
{
GridView gvGridControlCustom = (DevExpress.XtraGrid.Views.Grid.GridView)this.MainView;
if (gvGridControlCustom == null)
{
return;
}
int rowHandle = -1;
rowHandle = gvGridControlCustom.FocusedRowHandle;
if (rowHandle >= 0)
{
gvGridControlCustom.DeleteRow(rowHandle);
}
}
catch (Exception)
{ }
}
/// <summary>
/// 复制
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tCopy_Click(object sender, EventArgs e)
{
try
{
GridView gvGridControlCustom = (DevExpress.XtraGrid.Views.Grid.GridView)this.MainView;
if (gvGridControlCustom == null)
{
return;
}
//如果是编辑Status,则复制选择的文本
if (gvGridControlCustom.IsEditing)
{
TextEdit editor = gvGridControlCustom.ActiveEditor as TextEdit;
if (editor != null)
{
if (editor.SelectionLength > 0)
{
Clipboard.SetText(editor.SelectedText);
}
else
{
Clipboard.SetText(editor.Text);
}
return;
}
}
int rowHandle = -1;
GridColumn gridColumn = null;
if (isMouseClieck)
{
//如果是右键弹出调用
if (hitInfoPopupMenu == null) return;
if (hitInfoPopupMenu.RowHandle < 0 || !hitInfoPopupMenu.InRowCell)
{
return;
}
rowHandle = hitInfoPopupMenu.RowHandle;
gridColumn = hitInfoPopupMenu.Column;
}
else
{
//如果是快捷键调用
if (gvGridControlCustom.FocusedRowHandle < 0 || gvGridControlCustom.FocusedColumn == null)
{
return;
}
rowHandle = gvGridControlCustom.FocusedRowHandle;
gridColumn = gvGridControlCustom.FocusedColumn;
}
string value = gvGridControlCustom.GetRowCellDisplayText(rowHandle, gridColumn);
if (value == null)
{
Clipboard.SetText("");
}
else
{
Clipboard.SetText(value);
}
}
catch (Exception)
{ }
}
/// <summary>
/// 复制
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tCopyData_Click(object sender, EventArgs e)
{
try
{
GridView gvGridControlCustom = (DevExpress.XtraGrid.Views.Grid.GridView)this.MainView;
if (gvGridControlCustom == null)
{
return;
}
int rowHandle = -1;
GridColumn gridColumn = null;
if (isMouseClieck)
{
//如果是右键弹出调用
if (hitInfoPopupMenu == null) return;
if (hitInfoPopupMenu.RowHandle < 0 || !hitInfoPopupMenu.InRowCell)
{
return;
}
rowHandle = hitInfoPopupMenu.RowHandle;
gridColumn = hitInfoPopupMenu.Column;
}
else
{
//如果是快捷键调用
if (gvGridControlCustom.FocusedRowHandle < 0 || gvGridControlCustom.FocusedColumn == null)
{
return;
}
rowHandle = gvGridControlCustom.FocusedRowHandle;
gridColumn = gvGridControlCustom.FocusedColumn;
}
object value = gvGridControlCustom.GetRowCellValue(rowHandle, gridColumn);
if (value == null)
{
Clipboard.SetText("");
}
else
{
Clipboard.SetText(Convert.ToString(value));
}
}
catch (Exception)
{ }
}
/// <summary>
/// 复制选择行数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tCopyRow_Click(object sender, EventArgs e)
{
try
{
GridView gvGridControlCustom = (DevExpress.XtraGrid.Views.Grid.GridView)this.MainView;
if (gvGridControlCustom == null)
{
return;
}
gvGridControlCustom.CopyToClipboard();
}
catch (Exception)
{ }
}
/// <summary>
/// 剪切
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tCut_Click(object sender, EventArgs e)
{
try
{
}
catch (Exception)
{ }
}
/// <summary>
/// 复制
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tPaste_Click(object sender, EventArgs e)
{
try
{
}
catch (Exception)
{ }
}
/// <summary>
/// 锁定当前列
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tFixedTrue_Click(object sender, EventArgs e)
{
try
{
if (hitInfoPopupMenu == null) return;
if (hitInfoPopupMenu.Column == null) return;
GridView gvGridControlCustom = (DevExpress.XtraGrid.Views.Grid.GridView)this.MainView;
if (gvGridControlCustom == null)
{
return;
}
hitInfoPopupMenu.Column.Fixed = DevExpress.XtraGrid.Columns.FixedStyle.Left;
}
catch (Exception)
{ }
}
/// <summary>
/// 锁定左侧列
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tFixedLeft_Click(object sender, EventArgs e)
{
try
{
if (hitInfoPopupMenu == null) return;
if (hitInfoPopupMenu.Column == null) return;
GridView gvGridControlCustom = (DevExpress.XtraGrid.Views.Grid.GridView)this.MainView;
if (gvGridControlCustom == null)
{
return;
}
List<GridColumn> cols = new List<GridColumn>();
int visibleIndex = hitInfoPopupMenu.Column.VisibleIndex;
for (int i = 0; i < gvGridControlCustom.Columns.Count; i++)
{
if (gvGridControlCustom.Columns[i].VisibleIndex <= visibleIndex)
{
cols.Add(gvGridControlCustom.Columns[i]);
}
}
var list = from t in cols orderby t.VisibleIndex select t;
foreach (var col in list)
{
col.Fixed = DevExpress.XtraGrid.Columns.FixedStyle.Left;
}
}
catch (Exception)
{ }
}
/// <summary>
/// 解锁所以锁定
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tFixedAllFalse_Click(object sender, EventArgs e)
{
try
{
if (hitInfoPopupMenu == null) return;
if (hitInfoPopupMenu.Column == null) return;
GridView gvGridControlCustom = (DevExpress.XtraGrid.Views.Grid.GridView)this.MainView;
if (gvGridControlCustom == null)
{
return;
}
List<GridColumn> cols = new List<GridColumn>();
for (int i = 0; i < gvGridControlCustom.Columns.Count; i++)
{
if (gvGridControlCustom.Columns[i].Fixed != DevExpress.XtraGrid.Columns.FixedStyle.None)
{
cols.Add(gvGridControlCustom.Columns[i]);
}
}
var list = from t in cols orderby t.VisibleIndex descending select t;
foreach (var col in list)
{
col.Fixed = DevExpress.XtraGrid.Columns.FixedStyle.None;
}
}
catch (Exception)
{ }
}
/// <summary>
/// 显示过滤
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tShowFooter_Click(object sender, EventArgs e)
{
try
{
GridView gvGridControlCustom = (DevExpress.XtraGrid.Views.Grid.GridView)this.MainView;
if (gvGridControlCustom == null)
{
return;
}
if (gvGridControlCustom.OptionsView.ShowFooter)
{
gvGridControlCustom.OptionsView.ShowFooter = false;
}
else
{
gvGridControlCustom.OptionsView.ShowFooter = true;
}
}
catch (Exception)
{ }
}
/// <summary>
/// 保存样式
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tSaveStyle_Click(object sender, EventArgs e)
{
try
{
GridView gvGridControlCustom = (DevExpress.XtraGrid.Views.Grid.GridView)this.MainView;
if (gvGridControlCustom == null)
{
return;
}
string layoutXml = Application.StartupPath + @"\Layout";
if (Directory.Exists(layoutXml) == false)
{
Directory.CreateDirectory(layoutXml);
}
layoutXml = layoutXml + @"\" + GetSaveConFingName() + ".xml";
gvGridControlCustom.SaveLayoutToXml(layoutXml);
}
catch (Exception)
{ }
}
/// <summary>
/// 保存样式
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tExportLayout_Click(object sender, EventArgs e)
{
try
{
GridView gvGridControlCustom = (DevExpress.XtraGrid.Views.Grid.GridView)this.MainView;
if (gvGridControlCustom == null)
{
return;
}
System.Windows.Forms.SaveFileDialog fileSave = new System.Windows.Forms.SaveFileDialog();
fileSave.Filter = "布局文件(*.xml)|*.xml";
fileSave.RestoreDirectory = true;
fileSave.FilterIndex = 1;
if (fileSave.ShowDialog() != System.Windows.Forms.DialogResult.OK) return;
gvGridControlCustom.SaveLayoutToXml(fileSave.FileName, OptionsLayoutBase.FullLayout);
}
catch (Exception)
{ }
}
/// <summary>
/// 清除样式
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tCloseStyle_Click(object sender, EventArgs e)
{
try
{
string layoutXml = Application.StartupPath + @"\Layout\" + GetSaveConFingName() + ".xml";
if (File.Exists(layoutXml))
{
File.Delete(layoutXml);
}
MessageBox.Show("控件配置信息已经清除,请重新打开此窗口", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception)
{ }
}
/// <summary>
/// 全选
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tSelectAll_Click(object sender, EventArgs e)
{
isMouseClieck = false;
try
{
GridView gv = this.MainView as GridView;
if (gv == null)
{
return;
}
if (gv.FocusedColumn == null)
{
return;
}
DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit chkEdit = gv.FocusedColumn.ColumnEdit as DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit;
if (chkEdit == null)
{
return;
}
if (gv.OptionsBehavior.Editable == false ||
gv.OptionsBehavior.ReadOnly == true ||
gv.FocusedColumn.OptionsColumn.AllowEdit == false ||
gv.FocusedColumn.OptionsColumn.ReadOnly == true)
{
return;
}
if (chkEdit.ValueChecked is string)
{
for (int i = 0; i < gv.RowCount; i++)
{
gv.SetRowCellValue(i, gv.FocusedColumn, "1");
}
}
else if (chkEdit.ValueChecked is bool)
{
for (int i = 0; i < gv.RowCount; i++)
{
gv.SetRowCellValue(i, gv.FocusedColumn, true);
}
}
}
catch (Exception ex)
{
// SystemCommon.ShowInfoMessageBox(ex.Message.ToString());
}
}
/// <summary>
/// 全取消
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tUnSelectAll_Click(object sender, EventArgs e)
{
isMouseClieck = false;
try
{
GridView gv = this.MainView as GridView;
if (gv == null)
{
return;
}
if (gv.FocusedColumn == null)
{
return;
}
DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit chkEdit = gv.FocusedColumn.ColumnEdit as DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit;
if (chkEdit == null)
{
return;
}
if (gv.OptionsBehavior.Editable == false ||
gv.OptionsBehavior.ReadOnly == true ||
gv.FocusedColumn.OptionsColumn.AllowEdit == false ||
gv.FocusedColumn.OptionsColumn.ReadOnly == true)
{
return;
}
if (chkEdit.ValueChecked is string)
{
for (int i = 0; i < gv.RowCount; i++)
{
gv.SetRowCellValue(i, gv.FocusedColumn, "0");
}
}
else if (chkEdit.ValueChecked is bool)
{
for (int i = 0; i < gv.RowCount; i++)
{
gv.SetRowCellValue(i, gv.FocusedColumn, false);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
/// <summary>
/// 全展开
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tExpandAll_Click(object sender, EventArgs e)
{
try
{
GridView gv = this.MainView as GridView;
if (gv == null)
{
return;
}
gv.ExpandAllGroups();
}
catch (Exception)
{ }
}
/// <summary>
/// 全收缩
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tCollapseAll_Click(object sender, EventArgs e)
{
try
{
GridView gv = this.MainView as GridView;
if (gv == null)
{
return;
}
gv.CollapseAllGroups();
}
catch (Exception)
{ }
}
/// <summary>
/// 列筛选
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tColFind_Click(object sender, EventArgs e)
{
try
{
GridView gv = this.MainView as GridView;
if (gv == null)
{
return;
}
FrmGridViewColFind frm = new FrmGridViewColFind(gv);
if (frm.ShowDialog() == DialogResult.OK)
{
gv.RefreshData();
}
}
catch (Exception)
{ }
}
/// <summary>
/// 列表汇总
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tColGroup_Click(object sender, EventArgs e)
{
try
{
GridView gv = this.MainView as GridView;
if (gv == null)
{
return;
}
string configName = GetSaveConFingName();
FrmGridViewColSelect frm = new FrmGridViewColSelect(gv, configName);
if (frm.ShowDialog() == DialogResult.OK)
{
FrmGroupList frm2 = new FrmGroupList(frm.MyGroupDTable);
Form form = this.FindForm();
if (form != null)
{
if (form.MdiParent != null) frm2.MdiParent = form.MdiParent;
}
frm2.Show();
}
}
catch (Exception)
{ }
}
#endregion
#region
/// <summary>
/// 加载样式
/// </summary>
private void LoadStyle()
{
try
{
GridView gvGridControlCustom = (DevExpress.XtraGrid.Views.Grid.GridView)this.MainView;
if (gvGridControlCustom == null)
{
return;
}
string layoutXml = Application.StartupPath + @"\Layout\" + GetSaveConFingName() + ".xml";
if (!File.Exists(layoutXml)) return;
Dictionary<string, bool> dicVisible = new Dictionary<string, bool>();
//付林林 2012-09-02
//Visible属性不记忆,记忆导入布局前Visible属性
foreach (GridColumn column in gvGridControlCustom.Columns)
{
dicVisible.Add(column.Name, column.Visible);
}
gvGridControlCustom.RestoreLayoutFromXml(layoutXml);
//恢复导入布局前Visible属性
foreach (GridColumn column in gvGridControlCustom.Columns)
{
if (dicVisible.ContainsKey(column.Name) &&
dicVisible[column.Name] != column.Visible)
{
column.Visible = dicVisible[column.Name];
}
}
}
catch (Exception)
{ }
}
#endregion
#region
/// <summary>
/// 行号事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void gridView_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
{
if (e.Info.IsRowIndicator && e.RowHandle >= 0)
e.Info.DisplayText = (e.RowHandle + 1).ToString();
}
private void gridView_RowCountChanged(object sender, EventArgs e)
{
try
{
GridView gridView = (DevExpress.XtraGrid.Views.Grid.GridView)sender;
int rc = gridView.RowCount;
if (rc < 100)
{
gridView.IndicatorWidth = 34;
}
else if (rc >= 1000000)
{
gridView.IndicatorWidth = 74;
}
else if (rc >= 100000)
{
gridView.IndicatorWidth = 66;
}
else if (rc >= 10000)
{
gridView.IndicatorWidth = 58;
}
else if (rc >= 1000)
{
gridView.IndicatorWidth = 50;
}
else if (rc >= 100)
{
gridView.IndicatorWidth = 42;
}
}
catch
{
}
}
#endregion
#region
/// <summary>
/// 根据审核标志颜色区分
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void gridView_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)
{
try
{
GridView gridView = (DevExpress.XtraGrid.Views.Grid.GridView)sender;
if (gridView.FocusedRowHandle == e.RowHandle)
{
e.Appearance.BackColor = (colorSelectedRow == System.Drawing.Color.Empty ? colorSelectedRowDefault : colorSelectedRow);
//e.Appearance.Font = new Font(e.Appearance.Font, FontStyle.Bold);
return;
}
if (gridView.IsRowSelected(e.RowHandle))
{
e.Appearance.BackColor = (colorSelectedRow == System.Drawing.Color.Empty ? colorSelectedRowDefault : colorSelectedRow);
return;
}
//确定审核标志
if (!string.IsNullOrWhiteSpace(colorVerifyFlagColumn))
{
string verifyFlag = gridView.GetRowCellValue(e.RowHandle, colorVerifyFlagColumn) as string;
if (string.Equals(verifyFlag, colorVerifyValueDefault))
{
//已审核
e.Appearance.BackColor = colorVerifyDefault;//colorVerify;
}
else if (string.Equals(verifyFlag, colorUnExecuteValueDefault))
{
//审核未执行
e.Appearance.BackColor = colorUnExecuteDefault;//ColorUnExecute;
}
else if (string.Equals(verifyFlag, colorApproveValueDefault))
{
//审批中
e.Appearance.BackColor = colorApproveDefault;//colorApprove;
}
else if (string.Equals(verifyFlag, colorUnPassValueDefault))
{
//未通过
e.Appearance.BackColor = colorUnPassDefault;//colorUnPass;
}
else if (string.Equals(verifyFlag, colorPassValueDefault))
{
//已通过
e.Appearance.BackColor = colorPassDefault;//colorPass;
}
else if (string.Equals(verifyFlag, colorRepealValueDefault))
{
//作废
Font font = e.Appearance.Font;
font = new Font(font.Name, font.Size, FontStyle.Strikeout);
e.Appearance.Font = font;
e.Appearance.BackColor = colorRepealDefault;//colorRepeal;
}
else if (string.Equals(verifyFlag, colorReWorkValueDefault))
{
//驳回
e.Appearance.BackColor = colorReWorkDefault;//colorReWork;
}
else if (string.Equals(verifyFlag, colorShortageValueDefault))
{
//缺货
e.Appearance.BackColor = colorShortageDefault;//colorShortage;
}
else if (string.Equals(verifyFlag, colorWarningValueDefault))
{
//警示色
e.Appearance.BackColor = colorWarningDefault;//colorWarning;
}
}
//再设置缺货标志颜色
//确定审核标志
if (!string.IsNullOrWhiteSpace(colorShortageFlagColumn))
{
string shortageFlag = gridView.GetRowCellValue(e.RowHandle, colorShortageFlagColumn) as string;
if (string.Equals(shortageFlag, colorVerifyValueDefault))
{
//已审核
e.Appearance.BackColor = colorVerifyDefault;//colorVerify;
}
else if (string.Equals(shortageFlag, colorUnExecuteValueDefault))
{
//审核未执行
e.Appearance.BackColor = colorUnExecuteDefault;//ColorUnExecute;
}
else if (string.Equals(shortageFlag, colorApproveValueDefault))
{
//审批中
e.Appearance.BackColor = colorApproveDefault;//colorApprove;
}
else if (string.Equals(shortageFlag, colorUnPassValueDefault))
{
//未通过
e.Appearance.BackColor = colorUnPassDefault;//colorUnPass;
}
else if (string.Equals(shortageFlag, colorPassValueDefault))
{
//已通过
e.Appearance.BackColor = colorPassDefault;//colorPass;
}
else if (string.Equals(shortageFlag, colorRepealValueDefault))
{
//作废
Font font = e.Appearance.Font;
font = new Font(font.Name, font.Size, FontStyle.Strikeout);
e.Appearance.Font = font;
e.Appearance.BackColor = colorRepealDefault;//colorRepeal;
}
else if (string.Equals(shortageFlag, colorReWorkValueDefault))
{
//驳回
e.Appearance.BackColor = colorReWorkDefault;//colorReWork;
}
else if (string.Equals(shortageFlag, colorShortageValueDefault))
{
//缺货
e.Appearance.BackColor = colorShortageDefault;//colorShortage;
}
else if (string.Equals(shortageFlag, colorWarningValueDefault))
{
//警示色
e.Appearance.BackColor = colorWarningDefault;//colorWarning;
}
}
}
catch
{
}
}
#endregion
#region
/// <summary>
/// 显示导出对话框
/// </summary>
public void ShowExportDialog()
{
try
{
GridView gv = this.MainView as GridView;
if (gv == null) return;
System.Windows.Forms.SaveFileDialog fileSave = new System.Windows.Forms.SaveFileDialog();
//fileSave.InitialDirectory = System.Windows.Forms.Application.StartupPath;
fileSave.Filter = "Excel文件(*.XLS)|*.xls|Excel文件(2007/2010)(*.XLSX)|*.xlsx|文本文件(*.TXT)|*.txt|CSV文件(*.CSV)|*.csv|Pdf文件(*.Pdf)|*.pdf|Html文件(*.Html)|*.html";
fileSave.RestoreDirectory = true;
fileSave.FilterIndex = 1;
if (fileSave.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
DevExpress.XtraPrinting.ExportTarget ls_type = DevExpress.XtraPrinting.ExportTarget.Xls;
string fName = fileSave.FileName;
if (fileSave.FileName.ToLower().EndsWith(".txt"))
{
ls_type = DevExpress.XtraPrinting.ExportTarget.Text;
}
else if (fileSave.FileName.ToLower().EndsWith(".xls"))
{
ls_type = DevExpress.XtraPrinting.ExportTarget.Xls;
}
else if (fileSave.FileName.ToLower().EndsWith(".xlsx"))
{
ls_type = DevExpress.XtraPrinting.ExportTarget.Xlsx;
}
else if (fileSave.FileName.ToLower().EndsWith(".csv"))
{
ls_type = DevExpress.XtraPrinting.ExportTarget.Csv;
}
else if (fileSave.FileName.ToLower().EndsWith(".html"))
{
ls_type = DevExpress.XtraPrinting.ExportTarget.Html;
}
else if (fileSave.FileName.ToLower().EndsWith(".Pdf"))
{
ls_type = DevExpress.XtraPrinting.ExportTarget.Pdf;
}
gv.Export(ls_type, fName);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
#endregion
#region
/// <summary>
/// 左侧列表纵向滚动条拖动
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void gvGridControlCustom_MouseWheel(object sender, EventArgs e)
{
this.Invalidate();
}
/// <summary>
/// 左侧列表纵向滚动条拖动
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void gvGridControlCustom_LeftCoordChanged(object sender, EventArgs e)
{
this.Invalidate();
}
/// <summary>
/// 左侧列表横向滚动条拖动
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void gvGridControlCustom_TopRowChanged(object sender, EventArgs e)
{
this.Invalidate();
}
void gvGridControlCustom_RowCellStyle(object sender, RowCellStyleEventArgs e)
{
this.Invalidate();
}
#endregion
#region
/// <summary>
/// 获取保存配置文件名称
/// </summary>
/// <returns></returns>
private string GetSaveConFingName()
{
string frmName = "";
Form form = this.FindForm();
if (form == null) return "From";
frmName = form.Name;
string moduleId = "";
try
{
object objModuleId = form.GetType().InvokeMember(
"GetModuleId",
BindingFlags.Public |
BindingFlags.NonPublic | BindingFlags.Instance |
BindingFlags.InvokeMethod, null, form, new object[] { });
if (objModuleId != null)
{
moduleId = objModuleId.ToString();
}
}
catch(Exception ex)
{
}
return frmName + "." + moduleId + "." + this.Name;
}
#endregion
}
}