| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Text;
- using System.Windows.Forms;
- using System.Collections;
- using Infragistics.Win;
- using Infragistics.Win.UltraWinTabControl;
- using Infragistics.Win.UltraWinGrid;
- using Infragistics.Win.UltraWinDataSource;
- using System.IO;
- using System.Diagnostics;
- using Infragistics.Win.UltraWinGrid.ExcelExport;
- using System.Runtime.InteropServices;
- namespace Core.StlMes.Client.Sale.Util
- {
- public class UtilUltraGrid
- {
- private static ArrayList GetStaticsInfoIntegerColumn()
- {
- ArrayList list = new ArrayList();
- list.Add("QUANTITY");
- return list;
- }
- private static ArrayList GetStaticsMoneyColumn()
- {
- ArrayList list = new ArrayList();
- list.Add("MONEY");
- list.Add("MONEY_ORG");
- return list;
- }
- /// <summary>
- /// 设置Grid合计值
- /// </summary>
- /// <param name="ultraGrid"></param>
- /// <param name="alistColumns"></param>
- public static void SetStaticsInfoSum(ref UltraGrid ultraGrid, ArrayList alistColumns)
- {
- ArrayList listt = GetStaticsInfoIntegerColumn();
- ArrayList listtmny = GetStaticsMoneyColumn();
-
- try
- {
- UltraGridBand band = ultraGrid.DisplayLayout.Bands[0];
- for (int i = 0; i < alistColumns.Count; i++)
- {
- SummarySettings summary1 = null;
- try
- {
- try
- {
- summary1 = band.Summaries.Add(SummaryType.Sum, band.Columns[alistColumns[i].ToString()]);
- }
- catch
- {
- }
-
- if (summary1 != null)
- {
- band.Summaries.Remove(summary1);
-
- SummarySettings summary = band.Summaries.Add(SummaryType.Sum, band.Columns[alistColumns[i].ToString()]);
- summary.SummaryDisplayArea = SummaryDisplayAreas.BottomFixed;
- summary.SummaryPosition = SummaryPosition.UseSummaryPositionColumn;
- // summary.DisplayFormat = " {0:############0.000}";
- // summary.DisplayFormat = " {0}";
- // summary.DisplayFormat = "{0:0,0.000}";
- summary.DisplayFormat = "{0:N3}";
- if (listt.Contains(alistColumns[i].ToString()))
- {
- // summary.DisplayFormat = "{0:0,0}";
- // summary.DisplayFormat = " {0:###,###,###,###0}";
- summary.DisplayFormat = " {0:N0}";
- }
- else if (listtmny.Contains(alistColumns[i].ToString()))
- {
- //summary.DisplayFormat = "{0:0,0.0000}";
- summary.DisplayFormat = "{0:N5}";
- }
-
-
-
- //summary.Appearance.TextHAlign = Infragistics.Win.HAlign.Right;
- //summary.Appearance.TextVAlign = Infragistics.Win.VAlign.Middle;
- //summary.Appearance.FontData.Bold = DefaultableBoolean.True;
- //summary.Appearance.ForeColor = Color.DarkBlue;
- //summary.Appearance.BackColor = Color.White;
- }
- }
- catch { }
- }
- band.Override.SummaryFooterCaptionVisible = Infragistics.Win.DefaultableBoolean.False;
- }
- catch { }
- }
- /// <summary>
- /// 设置Grid平均值
- /// </summary>
- /// <param name="ultraGrid"></param>
- /// <param name="alistColumns"></param>
- public static void SetStaticsInfoAvg(ref UltraGrid ultraGrid, ArrayList alistColumns)
- {
- try
- {
- UltraGridBand band = null;
- // UltraGridBand band = ultraGrid.DisplayLayout.Bands[0];
- for (int k = 0; k < ultraGrid.DisplayLayout.Bands.Count;k++ )
- {
- band = ultraGrid.DisplayLayout.Bands[k];
- for (int i = 0; i < alistColumns.Count; i++)
- {
- try
- {
- if (!band.Columns.Contains(alistColumns[i].ToString()))
- continue;
- SummarySettings summary = band.Summaries.Add(SummaryType.Average, band.Columns[alistColumns[i].ToString()]);
- summary.SummaryDisplayArea = SummaryDisplayAreas.BottomFixed;
- summary.SummaryPosition = SummaryPosition.UseSummaryPositionColumn;
- summary.DisplayFormat = " {0:############0.00}";
- summary.Appearance.TextHAlign = Infragistics.Win.HAlign.Right;
- summary.Appearance.TextVAlign = Infragistics.Win.VAlign.Middle;
- summary.Appearance.FontData.Bold = DefaultableBoolean.True;
- summary.Appearance.ForeColor = Color.DarkBlue;
- summary.Appearance.BackColor = Color.White;
- }
- catch { }
- }
- }
- band.Override.SummaryFooterCaptionVisible = Infragistics.Win.DefaultableBoolean.False;
- }
- catch { }
- }
- public static void ExportGridDataToExcel(string fileName, UltraGrid grid)
- {
-
- try
- {
- Infragistics.Win.UltraWinGrid.ExcelExport.UltraGridExcelExporter ex = new Infragistics.Win.UltraWinGrid.ExcelExport.UltraGridExcelExporter();
- string strFileName = @"c:\" + fileName + System.DateTime.Today.ToString("yyMMdd") + ".xls";
- if (CommonExportExcel(ref strFileName))
- ex.Export(grid, strFileName);
- }
- catch
- {
- }
- }
- private static bool CommonExportExcel(ref string strFileName)
- {
- System.Windows.Forms.SaveFileDialog sfd = new SaveFileDialog();
- sfd.Filter = "Microsoft Office Excel 工作簿 (*.xls)|*.xls";
- sfd.Title = "导出到Excel文件";
- sfd.FileName = strFileName;
- if (sfd.ShowDialog() == DialogResult.OK)
- {
- strFileName = sfd.FileName;
- return sfd.FileName != "";
- }
- return false;
- }
- }
- }
|