/// <summary>
/// 设置GridControl中GridView1的格式
/// </summary>
/// <param name="gridView1">GridView1</param>
/// <param name="ifShowFooter">是否显示Foot</param>
public static void SetGridControlViewStyle(DevExpress.XtraGrid.Views.Grid.GridView gridView1,bool ifShowFooter)
{
gridView1.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.False;
gridView1.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.Click;
gridView1.OptionsBehavior.Editable = false;//不能被编辑
gridView1.OptionsMenu.EnableColumnMenu = false;
gridView1.OptionsView.ShowGroupPanel = false;
gridView1.OptionsCustomization.AllowColumnMoving = false;
gridView1.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;//选中一行
gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;
//gridView1.OptionsView.AllowCellMerge = true;
gridView1.OptionsFilter.AllowFilterEditor = false;
if (ifShowFooter)
{
gridView1.GroupFooterShowMode = DevExpress.XtraGrid.Views.Grid.GroupFooterShowMode.VisibleAlways;
gridView1.OptionsView.ShowFooter = true;
}
}
#endregion
2、 #region 为GridControl中GridView1添加合计行
/// <summary>
/// 为GridControl中GridView1添加合计行
/// </summary>
/// <param name="gridView1">XtraGrid.Views.Grid.GridView</param>
/// <param name="colList">需要添加合计的列名称集合</param>
/// <param name="summaryColName">固定写合计两个字的列,若为null或空则不写这两个字</param>
public static void AddSummaryRowToGridControlView(DevExpress.XtraGrid.Views.Grid.GridView gridView1,List<string> colList,string summaryColName)
{
for (int i = 0; i < colList.Count; i++)
{
string curColumnName = colList[i];
gridView1.GroupSummary.AddRange(new GridSummaryItem[]{
new GridGroupSummaryItem(SummaryItemType.Sum,curColumnName,null,"{0}")});
gridView1.Columns[curColumnName].SummaryItem.DisplayFormat = "{0}";
gridView1.Columns[curColumnName].SummaryItem.FieldName = curColumnName;
gridView1.Columns[curColumnName].SummaryItem.SummaryType = SummaryItemType.Sum;
}
if (!string.IsNullOrEmpty(summaryColName))
{
gridView1.Columns[summaryColName].SummaryItem.DisplayFormat = "合计{0}";
gridView1.Columns[summaryColName].SummaryItem.FieldName = summaryColName;
gridView1.Columns[summaryColName].SummaryItem.SummaryType = SummaryItemType.Custom;
}
}
#endregion
3、#region 设置GridControl中GridView1中列的文本对齐方式
/// <summary>
/// 设置GridControl中GridView1中列的文本对齐方式
/// </summary>
/// <param name="col">XtraGrid.Columns.GridColumn</param>
/// <param name="align">对齐方式,left,right,center</param>
public static void SetGridControlViewAlign(DevExpress.XtraGrid.Columns.GridColumn col,string align)
{
switch (align)
{
case "left":
col.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
col.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
break;
case "right":
col.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
col.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
break;
case "center":
col.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
col.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
break;
default:break;
}
}
#endregion
4、#region 设定GridControl中GridView1的列类型
/// <summary>
/// 设定GridControl中GridView1的列类型
/// </summary>
/// <param name="col">XtraGrid.Columns.GridColumn</param>
/// <param name="curColType">UnboundColumnType</param>
public static void SetGridControlViewColumnDataType(DevExpress.XtraGrid.Columns.GridColumn col
, UnboundColumnType curColType)
{
col.UnboundType = curColType;
//gridView1.Columns[c].DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
//gridView1.Columns[c].DisplayFormat.FormatString = "c";
}
#endregion
5、#region 将数据导出到Excel
/// <summary>
/// 将数据导出到Excel
/// </summary>
/// <param name="obj">设置GridControl中GridView1或XtraPivotGrid.PivotGridControl</param>
public static void ExportToExcel(object obj)
{
using (SaveFileDialog fd = new SaveFileDialog())
{
fd.Title = "导出Excel文件";
fd.RestoreDirectory = true;
fd.Filter = "Excel文件|*.xls(*.xlsx)";
fd.FilterIndex = 1;
if (fd.ShowDialog() == DialogResult.OK)
{
bool hasFindType = false;
if (obj is DevExpress.XtraGrid.Views.Grid.GridView)
{
DevExpress.XtraGrid.Views.Grid.GridView gridView1 = obj as DevExpress.XtraGrid.Views.Grid.GridView;
if (gridView1 != null)
{
hasFindType = true;
gridView1.ExportToXls(fd.FileName);
}
}
else if (obj is DevExpress.XtraPivotGrid.PivotGridControl)
{
DevExpress.XtraPivotGrid.PivotGridControl pgControl = obj as DevExpress.XtraPivotGrid.PivotGridControl;
if (pgControl != null)
{
hasFindType = true;
pgControl.ExportToXls(fd.FileName);
}
}
if(hasFindType) CommonHelper.ShowInfoDlg("文件导出成功");
}
}
}
#endregion
6、PivotGridControl: