| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287 |
- using System;
- using System.Collections;
- using System.Data;
- using System.Diagnostics;
- using System.Drawing;
- using System.IO;
- using System.Windows.Forms;
- using Infragistics.Excel;
- using Infragistics.Win;
- using Infragistics.Win.Layout;
- using Infragistics.Win.UltraWinDataSource;
- using Infragistics.Win.UltraWinEditors;
- using Infragistics.Win.UltraWinGrid;
- using Infragistics.Win.UltraWinGrid.ExcelExport;
- namespace Core.StlMes.Client.PnCost
- {
- /// <summary>
- /// 控件设置、属性相关公用
- /// </summary>
- public class ClsControlPack
- {
- public static DataSet FrmDataSet = new DataSet();
- /// <summary>
- /// 设置控件样式
- /// </summary>
- /// <param name="ulgrid"></param>
- /// <param name="intFlag">颜色标致</param>
- public static void SetUltraGridStyle(UltraGrid ulgrid, int intFlag)
- {
- try
- {
- Color CardBackColor = (intFlag.Equals(1)
- ? Color.FromArgb(255, 218, 232, 248)
- : (intFlag.Equals(2) ? Color.PaleTurquoise : Color.Honeydew));
- // Color RowBackColor = Color.LightBlue;
- ulgrid.DisplayLayout.Override.CardAreaAppearance.BackColor = CardBackColor; //卡片样式背景
- ulgrid.DisplayLayout.Override.HeaderAppearance.BackColor = CardBackColor; //表头背景
- ulgrid.DisplayLayout.Override.RowAppearance.ResetBackColor(); //行的背景色
- ulgrid.DisplayLayout.BorderStyle = Infragistics.Win.UIElementBorderStyle.None; //设置边框
- if (ulgrid.Parent != null) ulgrid.Parent.BackColor = CardBackColor;
- }
- catch { }
- }
- /// <summary>
- /// 获取子窗体弹出的位置坐标
- /// </summary>
- /// <param name="ChildWindowSize"></param>
- /// <returns></returns>
- public static Point GetChildWindowLocation(Size ChildWindowSize)
- {
- Point point = Cursor.Position;
- int width = point.X + ChildWindowSize.Width - Screen.PrimaryScreen.Bounds.Width;
- int height = point.Y + ChildWindowSize.Height + 32 - Screen.PrimaryScreen.Bounds.Height;
- width = (width > 0) ? (point.X - width) : point.X; // X坐标
- height = (height > 0) ? (point.Y - height + 32) : (point.Y + 32); // Y坐标
- return new Point(width, height);
- }
- public static void CopyDataToDatatable(ref DataTable src, ref DataTable dest, bool ClearExists)
- {
- if (src == null || dest == null)
- {
- return;
- }
- if (ClearExists)
- {
- dest.Rows.Clear();
- }
- DataRow CurRow, NewRow;
- for (int i = 0; i < src.Rows.Count; i++)
- {
- CurRow = src.Rows[i];
- NewRow = dest.NewRow();
- for (int j = 0; j < src.Columns.Count; j++)
- {
- try
- {
- if (dest.Columns.Contains(src.Columns[j].ColumnName))
- {
- NewRow[src.Columns[j].ColumnName] = CurRow[j];
- }
- }
- catch { }
- }
- dest.Rows.Add(NewRow);
- }
- }
- public static void RefreshAndAutoSize(UltraGrid ultraGrid)
- {
- try
- {
- ultraGrid.DataBind();
- foreach (UltraGridBand band in ultraGrid.DisplayLayout.Bands)
- {
- foreach (UltraGridColumn column in band.Columns)
- {
- column.PerformAutoResize(PerformAutoSizeType.AllRowsInBand);
- }
- }
- ultraGrid.Refresh();
- }
- catch { }
- }
- public static bool SetMyComboEditor(ref UltraComboEditor cbEdt, ref ValueList vlist, bool bNull)
- {
- if (cbEdt == null || vlist == null)
- {
- return false;
- }
- cbEdt.Items.Clear();
- if (bNull)
- {
- cbEdt.Items.Add(null, "");
- }
- for (int i = 0; i < vlist.ValueListItems.Count; i++)
- {
- try
- {
- cbEdt.Items.Add(vlist.ValueListItems[i].DataValue, vlist.ValueListItems[i].DisplayText);
- }
- catch { }
- }
- return true;
- }
- #region ultraGrid设置
- public static void SetUltraGridAppearance(Control Parent)
- {
- UltraGrid grid = null;
- foreach (Control ctrl in Parent.Controls)
- {
- try
- {
- if (ctrl.GetType().Equals(typeof(UltraGrid)))
- {
- grid = (UltraGrid)ctrl;
- if (grid == null)
- {
- continue;
- }
- try
- {
- if (grid.DisplayLayout.Bands.Count > 0)
- {
- if (grid.DisplayLayout.Bands[0].CardView)
- {
- continue;
- }
- //grid.DisplayLayout.UseFixedHeaders = true;
- grid.DisplayLayout.ViewStyleBand = ViewStyleBand.Vertical;
- grid.DisplayLayout.GroupByBox.Prompt = "将需要分组的列拖到此处";
- grid.DisplayLayout.Override.MaxSelectedRows = 0;
- grid.DisplayLayout.Override.SelectTypeRow = SelectType.Single;
- grid.DisplayLayout.Override.SelectTypeCol = SelectType.None;
- grid.DisplayLayout.Override.BorderStyleCell = UIElementBorderStyle.Solid;
- grid.DisplayLayout.Override.BorderStyleRow = UIElementBorderStyle.Solid;
- grid.DisplayLayout.Override.WrapHeaderText = DefaultableBoolean.True;
-
- grid.DisplayLayout.Override.DataErrorRowAppearance.BackColor = Color.Lime;
- grid.DisplayLayout.Override.SupportDataErrorInfo = SupportDataErrorInfo.RowsOnly;
- //grid.DisplayLayout.CaptionVisible = DefaultableBoolean.True;
- grid.DisplayLayout.Override.HeaderStyle = HeaderStyle.Standard;
- grid.DisplayLayout.Override.MinRowHeight = 22;
- //grid.DisplayLayout.Override.RowSelectorNumberStyle = RowSelectorNumberStyle.RowIndex;
- grid.DisplayLayout.Override.CellClickAction = CellClickAction.EditAndSelectText;
- grid.DisplayLayout.Override.ActiveRowAppearance.FontData.Bold = DefaultableBoolean.True;
- grid.DisplayLayout.Override.ActiveRowAppearance.ForeColor = Color.Empty;
- grid.DisplayLayout.Override.ActiveRowAppearance.BackColor = Color.Empty;
- grid.DisplayLayout.Override.RowAppearance.BackColor = Color.White;
- grid.DisplayLayout.Override.RowAppearance.BorderColor = Color.DarkGray;
- grid.DisplayLayout.Override.RowAppearance.TextVAlign = VAlign.Middle;
- grid.DisplayLayout.Override.RowAlternateAppearance.BackColor = Color.MintCream; // Color.FromArgb(229, 255, 229);
- grid.DisplayLayout.Override.RowSelectorAppearance.TextVAlign = VAlign.Middle;
- grid.DisplayLayout.Override.RowSelectorAppearance.BackColor =Color.FromArgb(158, 191, 231);// Color.LightBlue; // LightBlue Color.FromArgb(205, 228, 225);
- grid.DisplayLayout.Override.HeaderAppearance.BackColor = Color.FromArgb(158, 191, 231); //Color.LightBlue; // Color.FromArgb(205, 228, 225);
- grid.DisplayLayout.Appearance.BackColor = Color.FromArgb(255, 218, 232, 248);
- }
- }
- catch { }
- try
- {
- if (grid.DisplayLayout.Bands.Count > 1)
- {
- grid.DisplayLayout.Bands[1].Override.HeaderAppearance.BackColor = Color.FromArgb(233, 242, 199);
- grid.DisplayLayout.Bands[1].Override.HeaderAppearance.BackColor = Color.FromArgb(170, 184, 131);
- grid.DisplayLayout.Bands[1].Override.HeaderAppearance.BackGradientStyle = GradientStyle.Vertical;
- grid.DisplayLayout.Bands[1].Override.RowSelectorAppearance.BackColor = Color.FromArgb(233, 242, 199);
- grid.DisplayLayout.Bands[1].Override.RowSelectorAppearance.BackColor = Color.FromArgb(170, 184, 131);
- grid.DisplayLayout.Bands[1].Override.RowSelectorAppearance.BackGradientStyle = GradientStyle.Vertical;
- }
- }
- catch { }
- try
- {
- foreach (UltraGridBand band in grid.DisplayLayout.Bands)
- {
- band.Override.AllowRowLayoutCellSizing = RowLayoutSizing.None;
- band.Override.AllowRowLayoutCellSpanSizing = GridBagLayoutAllowSpanSizing.None;
- band.Override.AllowRowLayoutColMoving = GridBagLayoutAllowMoving.None;
- band.Override.AllowRowLayoutLabelSizing = RowLayoutSizing.Horizontal;
- band.Override.AllowRowLayoutLabelSpanSizing = GridBagLayoutAllowSpanSizing.None;
- }
- }
- catch { }
- try
- {
- grid.KeyDown += new KeyEventHandler(grid_KeyDown);
- }
- catch { }
- try
- {
- grid.DoubleClickCell += new DoubleClickCellEventHandler(grid_DoubleClickCell);
- }
- catch { }
- RefreshAndAutoSize(grid);
- }
- else
- {
- SetUltraGridAppearance(ctrl);
- }
- }
- catch (Exception ex)
- {
- Debug.Print(ex.Message);
- }
- }
- }
- public static bool GetHashtableMinKeyValue(Hashtable htbl, out int iValue)
- {
- iValue = 0;
- if (htbl == null || htbl.Count == 0)
- {
- return false;
- }
- try
- {
- ArrayList alist = new ArrayList(htbl.Keys);
- int iKey = 0;
- for (int idx = 0; idx < alist.Count; idx++)
- {
- if (idx == 0)
- {
- iKey = Convert.ToInt32(alist[idx]);
- iValue = Convert.ToInt32(htbl[alist[idx]]);
- }
- else if (Convert.ToInt32(alist[idx]) < iKey)
- {
- iKey = Convert.ToInt32(alist[idx]);
- iValue = Convert.ToInt32(htbl[alist[idx]]);
- }
- }
- return true;
- }
- catch
- {
- return false;
- }
- }
- public static bool GetHashtableMaxKeyValue(Hashtable htbl, out int iValue)
- {
- iValue = 0;
- if (htbl == null || htbl.Count == 0)
- {
- return false;
- }
- try
- {
- ArrayList alist = new ArrayList(htbl.Keys);
- int iKey = 0;
- for (int idx = 0; idx < alist.Count; idx++)
- {
- if (idx == 0)
- {
- iKey = Convert.ToInt32(alist[idx]);
- iValue = Convert.ToInt32(htbl[alist[idx]]);
- }
- else if (Convert.ToInt32(alist[idx]) > iKey)
- {
- iKey = Convert.ToInt32(alist[idx]);
- iValue = Convert.ToInt32(htbl[alist[idx]]);
- }
- }
- return true;
- }
- catch
- {
- return false;
- }
- }
- static void grid_KeyDown(object sender, KeyEventArgs e)
- {
- try
- {
- UltraGrid grid = (UltraGrid)sender;
- if (sender == null)
- {
- return;
- }
- UltraGridCell cell = grid.ActiveCell;
- if (cell != null)
- {
- bool bOK = false;
- int iRow = cell.Row.Index;
- int iColumn = cell.Column.Index;
- if (e.KeyCode == Keys.Up)
- {
- iRow--;
- if (iRow >= 0)
- {
- bOK = true;
- }
- }
- else if (e.KeyCode == Keys.Down)
- {
- iRow++;
- if (cell.Band.Index == 0)
- {
- if (iRow <= grid.Rows.Count - 1)
- {
- bOK = true;
- }
- }
- else
- {
- if (iRow <= cell.Row.ParentRow.ChildBands[cell.Band.Key].Rows.Count - 1)
- {
- bOK = true;
- }
- }
- }
- else if (e.KeyCode == Keys.Left)
- {
- Hashtable htbl = new Hashtable();
- int iCurr = cell.Column.RowLayoutColumnInfo.OriginX;
- for (int i = 0; i < cell.Band.Columns.Count; i++)
- {
- if (!cell.Band.Columns[i].Hidden && cell.Band.Columns[i].RowLayoutColumnInfo.LabelPosition != LabelPosition.LabelOnly)
- {
- if (cell.Band.Columns[i].RowLayoutColumnInfo.OriginX < iCurr)
- {
- if (!htbl.Contains(cell.Band.Columns[i].RowLayoutColumnInfo.OriginX))
- {
- htbl.Add(cell.Band.Columns[i].RowLayoutColumnInfo.OriginX, cell.Band.Columns[i].Index);
- }
- }
- }
- }
- if (GetHashtableMaxKeyValue(htbl, out iColumn))
- {
- bOK = true;
- }
- }
- else if (e.KeyCode == Keys.Right)
- {
- Hashtable htbl = new Hashtable();
- int iCurr = cell.Column.RowLayoutColumnInfo.OriginX;
- for (int i = 0; i < cell.Band.Columns.Count; i++)
- {
- if (!cell.Band.Columns[i].Hidden && cell.Band.Columns[i].RowLayoutColumnInfo.LabelPosition != LabelPosition.LabelOnly)
- {
- if (cell.Band.Columns[i].RowLayoutColumnInfo.OriginX > iCurr)
- {
- if (!htbl.Contains(cell.Band.Columns[i].RowLayoutColumnInfo.OriginX))
- {
- htbl.Add(cell.Band.Columns[i].RowLayoutColumnInfo.OriginX, cell.Band.Columns[i].Index);
- }
- }
- }
- }
- if (GetHashtableMinKeyValue(htbl, out iColumn))
- {
- bOK = true;
- }
- }
- if (bOK)
- {
- if (cell.Band.Index == 0)
- {
- grid.ActiveCell = grid.Rows[iRow].Cells[iColumn];
- }
- else
- {
- grid.ActiveCell = cell.Row.ParentRow.ChildBands[cell.Band.Key].Rows[iRow].Cells[iColumn];
- }
- grid.PerformAction(UltraGridAction.EnterEditMode);
- }
- }
- }
- catch { }
- }
- static void grid_DoubleClickCell(object sender, DoubleClickCellEventArgs e)
- {
- try
- {
- if (e.Cell.Row.HasChild())
- {
- if (e.Cell.Row.IsExpanded)
- {
- e.Cell.Row.CollapseAll();
- }
- else
- {
- e.Cell.Row.ExpandAll();
- }
- }
- }
- catch { }
- }
- #endregion
- public static void SetGridValuelist(ref UltraGrid myGrid, string strColumn, ref ValueList vlist)
- {
- bool Contains = GridContainsColumn(myGrid, strColumn);
- try
- {
- if (Contains) myGrid.DisplayLayout.Bands[0].Columns[strColumn].ValueList = vlist;
- }
- catch { }
- finally
- {
- if (Contains) myGrid.DisplayLayout.Bands[0].Columns[strColumn].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
- }
- }
- public static void SetGridValuelist(ref UltraGrid myGrid, int BandIndex, string strColumn, ref ValueList vlist)
- {
- try
- {
- if (GridContainsColumn(myGrid, BandIndex, strColumn))
- {
- myGrid.DisplayLayout.Bands[BandIndex].Columns[strColumn].ValueList = vlist;
- }
- }
- catch { }
- finally
- {
- myGrid.DisplayLayout.Bands[BandIndex].Columns[strColumn].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
- }
- }
- public static void InitUltraDataSource(UltraDataSource ultDataSource)
- {
- try
- {
- int iColumnsCount = ultDataSource.Band.Columns.Count;
- object[] obj = new object[iColumnsCount];
- if (ultDataSource.Rows.Count > 0) ultDataSource.Rows.Clear();
- for (int i = 0; i < ultDataSource.Band.Columns.Count; i++)
- {
- try
- {
- if (ultDataSource.Band.Columns[i].DataType == typeof(Bitmap) ||
- ultDataSource.Band.Columns[i].DataType == typeof(Image))
- obj[i] = null;
- else if (ultDataSource.Band.Columns[i].DataType == typeof(DateTime))
- obj[i] = DBNull.Value;
- else if (ultDataSource.Band.Columns[i].DataType == typeof(decimal) ||
- ultDataSource.Band.Columns[i].DataType == typeof(double) ||
- ultDataSource.Band.Columns[i].DataType == typeof(Single))
- obj[i] = 0;
- else
- obj[i] = "";
- }
- catch { }
- }
- ultDataSource.Rows.Add(obj);
- }
- catch { }
- }
- /// <summary>
- /// 初始化UltraDataSource
- /// </summary>
- /// <param name="ultDataSource"></param>
- public static void InitUserControl(UltraDataSource ultDataSource, UltraGrid ultraGrid)
- {
- try
- {
- InitUltraDataSource(ultDataSource);
- ultraGrid.UpdateData();
- }
- catch { }
- }
- /// <summary>
- /// UltraDataSource数据重置
- /// </summary>
- /// <param name="ultDataSource"></param>
- public static void ResetUltraDataSource(UltraDataSource ultDataSource)
- {
- try
- {
- if (ultDataSource.Rows.Count == 0)
- {
- InitUltraDataSource(ultDataSource);
- return;
- }
- for (int i = 0; i < ultDataSource.Band.Columns.Count; i++)
- {
- try
- {
- if (ultDataSource.Band.Columns[i].DataType == typeof(Bitmap) ||
- ultDataSource.Band.Columns[i].DataType == typeof(Image))
- ultDataSource.Rows[0][i] = null;
- else if (ultDataSource.Band.Columns[i].DataType == typeof(DateTime))
- ultDataSource.Rows[0][i] = DBNull.Value;
- else if (ultDataSource.Band.Columns[i].DataType == typeof(decimal) ||
- ultDataSource.Band.Columns[i].DataType == typeof(double) ||
- ultDataSource.Band.Columns[i].DataType == typeof(Single))
- ultDataSource.Rows[0][i] = 0;
- else
- ultDataSource.Rows[0][i] = "";
- }
- catch { }
- }
- }
- catch { }
- }
- /// <summary>
- /// UltraDataSource数据重置
- /// </summary>
- /// <param name="ultDataSource"></param>
- public static void ResetUltraDataSource(UltraDataSource ultDataSource, UltraGrid ultraGrid)
- {
- try
- {
- ResetUltraDataSource(ultDataSource);
- }
- catch { }
- finally
- {
- if (ultraGrid != null)
- ultraGrid.UpdateData();
- }
- }
- /// <summary>
- /// ultraGrid设置Cell只读属性
- /// </summary>
- /// <param name="ultraGrid"></param>
- /// <param name="bReadOnly"></param>
- public static void SetUltraGridCellReadOnly(ref UltraGrid ultraGrid, bool bReadOnly)
- {
- try
- {
- for (int i = 0; i < ultraGrid.DisplayLayout.Bands[0].Columns.Count; i++)
- {
- ultraGrid.DisplayLayout.Bands[0].Columns[i].CellActivation = (bReadOnly ? Activation.ActivateOnly : Activation.AllowEdit);
- ultraGrid.DisplayLayout.Bands[0].Columns[i].CellAppearance.BackColor = (bReadOnly ? Color.LightBlue : Color.White);
- }
- }
- catch { }
- }
- /// <summary>
- /// UltraDataSource是否包含strColumnName列
- /// </summary>
- /// <param name="ultDataSource"></param>
- /// <param name="strColumnName"></param>
- /// <returns></returns>
- public static bool UltraDataSourceContainsColumn(ref UltraDataSource ultDataSource, string strColumnName)
- {
- try
- {
- for (int i = 0; i < ultDataSource.Band.Columns.Count; i++)
- {
- if (ultDataSource.Band.Columns[i].Key == strColumnName)
- return true;
- }
- }
- catch { }
- return false;
- }
- public static bool GridContainsColumn(UltraGrid grid, string strColumn)
- {
- for (int i = 0; i < grid.DisplayLayout.Bands[0].Columns.Count; i++)
- {
- if (grid.DisplayLayout.Bands[0].Columns[i].Key.Equals(strColumn,StringComparison.OrdinalIgnoreCase))
- return true;
- }
- return false;
- }
- public static bool GridContainsColumn(UltraGridBand band, string strColumn)
- {
- for (int i = 0; i < band.Columns.Count; i++)
- {
- if (band.Columns[i].Key.Equals(strColumn))
- return true;
- }
- return false;
- }
- public static bool GridContainsColumn(UltraGrid grid, int BandIndex, string strColumn)
- {
- if (BandIndex <= grid.DisplayLayout.Bands.Count - 1)
- {
- for (int i = 0; i < grid.DisplayLayout.Bands[BandIndex].Columns.Count; i++)
- {
- if (grid.DisplayLayout.Bands[BandIndex].Columns[i].Key.Equals(strColumn))
- return true;
- }
- }
- return false;
- }
- public static void SetGridGroupBy(ref UltraGrid myGrid1, bool bAllowGroupBy)
- {
- try
- {
- if (!bAllowGroupBy)
- {
- for (int i = 0; i < myGrid1.DisplayLayout.Bands[0].Columns.Count; i++)
- {
- try
- {
- if (myGrid1.DisplayLayout.Bands[0].Columns[i].IsGroupByColumn)
- myGrid1.DisplayLayout.Bands[0].Columns[i].ResetIsGroupByColumn();
- }
- catch { }
- }
- }
- myGrid1.DisplayLayout.GroupByBox.Hidden = !bAllowGroupBy;
- }
- catch { }
- }
- public static void SetUltraGridRowFilter(ref UltraGrid myGrid1, bool bAllowFilter)
- {
- try
- {
- if (bAllowFilter)
- {
- if (myGrid1.DisplayLayout.Override.FilterUIType != FilterUIType.FilterRow)
- myGrid1.DisplayLayout.Override.FilterUIType = FilterUIType.FilterRow;
- for (int i = 0; i < myGrid1.DisplayLayout.Bands.Count; i++)
- {
- for (int j = 0; j < myGrid1.DisplayLayout.Bands[i].Columns.Count; j++)
- {
- try
- {
- if (!myGrid1.DisplayLayout.Bands[i].Columns[j].Hidden &&
- myGrid1.DisplayLayout.Bands[i].Columns[j].RowLayoutColumnInfo.LabelPosition != LabelPosition.LabelOnly)
- myGrid1.DisplayLayout.Bands[i].Columns[j].AllowRowFiltering = Infragistics.Win.DefaultableBoolean.True;
- }
- catch { }
- }
- }
- }
- else
- {
- if (myGrid1.DisplayLayout.Override.FilterUIType != FilterUIType.HeaderIcons)
- myGrid1.DisplayLayout.Override.FilterUIType = FilterUIType.HeaderIcons;
- for (int i = 0; i < myGrid1.DisplayLayout.Bands.Count; i++)
- {
- try
- {
- myGrid1.DisplayLayout.Bands[i].ColumnFilters.ClearAllFilters();
- }
- catch { }
- for (int j = 0; j < myGrid1.DisplayLayout.Bands[i].Columns.Count; j++)
- {
- try
- {
- myGrid1.DisplayLayout.Bands[i].Columns[j].AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- }
- catch { }
- }
- }
- }
- }
- catch { }
- }
- /// <summary>
- /// 设置Grid的Cell的DropDownList绑定下拉的形式
- /// </summary>
- /// <param name="MasterColumnName">要设置的列</param>
- /// <param name="TableName">要设置的表名</param>
- /// <param name="caption">列头的中文</param>
- /// <param name="ColumnWidth">列宽</param>
- /// <param name="Grid">要设置的Grid</param>
- /// <param name="DropTable">下拉绑定的表</param>
- /// <param name="ValueMember">值对应的字段名</param>
- /// <param name="DisplayMember">显示对应的字段名</param>
- 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());
- }
- }
- /// <summary>
- /// 设置Grid的Cell的DropDownList绑定下拉的形式
- /// </summary>
- /// <param name="MasterColumnName">要设置的列</param>
- /// <param name="TableName">要设置的表名</param>
- /// <param name="caption">列头的中文</param>
- /// <param name="ColumnWidth">列宽</param>
- /// <param name="Grid">要设置的Grid</param>
- /// <param name="DropTable">下拉绑定的表</param>
- /// <param name="ValueMember">值对应的字段名</param>
- /// <param name="DisplayMember">显示对应的字段名</param>
- 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());
- }
- }
- /// <summary>
- /// 设置Grid的Cell的DropDownList绑定下拉的形式是可编辑
- /// </summary>
- /// <param name="MasterColumnName">要设置的列</param>
- /// <param name="TableName">要设置的表名</param>
- /// <param name="caption">列头的中文</param>
- /// <param name="ColumnWidth">列宽</param>
- /// <param name="Grid">要设置的Grid</param>
- /// <param name="DropTable">下拉绑定的表</param>
- /// <param name="ValueMember">值对应的字段名</param>
- /// <param name="DisplayMember">显示对应的字段名</param>
- 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.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());
- }
- }
- /// <summary>
- /// 设置Grid 的编辑性
- /// </summary>
- /// <param name="Grid"></param>
- 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;
- }
- }
- /// <summary>
- /// 新增数据
- /// </summary>
- /// <param name="Grid"></param>
- 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;
- }
- /// <summary>
- /// 修改数据
- /// </summary>
- /// <param name="Grid"></param>
- 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;
- }
- /// <summary>
- /// 删除数据
- /// </summary>
- /// <param name="Grid"></param>
- 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);
- }
- }
- /// <summary>
- /// 取消当前操作
- /// </summary>
- /// <param name="Grid"></param>
- 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;
- }
- }
- }
- }
- /// <summary>
- /// 取消操作
- /// </summary>
- /// <param name="Grid">UltraGrid</param>
- /// <param name="dataTable">Table</param>
- 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 void SetReadOnly(UltraGrid ultraGrid)
- {
- try
- {
- for (var i = 0; i < ultraGrid.DisplayLayout.Bands[0].Columns.Count; i++)
- ultraGrid.DisplayLayout.Bands[0].Columns[i].CellActivation = Activation.ActivateOnly;
- }
- catch
- {
- }
- }
- /// <summary>
- /// 某个空间是否某个特定的类型
- /// </summary>
- /// <param name="ctrl"></param>
- /// <param name="SomeType"></param>
- /// <returns></returns>
- public static bool SpecificType(Control ctrl, Type SomeType)
- {
- if (ctrl == null || SomeType == null) return false;
- Type type = ctrl.GetType();
- while (type != null)
- {
- if (type.Equals(SomeType))
- return true;
- type = type.BaseType;
- }
- return false;
- }
- public static void ExportDataWithSaveDialog(ref UltraGrid ugData, string strFileName)
- {
- try
- {
- if (ugData.Rows.Count == 0) return;
- if (strFileName.Length == 0)
- strFileName = "未命名";
- SaveFileDialog dlg = new SaveFileDialog();
- dlg.Title = "保存";
- dlg.OverwritePrompt = true;
- dlg.Filter = "Excel文件(*.xls)|*.xls";
- dlg.AddExtension = true;
- dlg.FileName = strFileName;
- string strCaption = strFileName;
- if (dlg.ShowDialog() == DialogResult.OK)
- {
- strFileName = dlg.FileName;
- Workbook wb = new Workbook();
- Worksheet ws2 = wb.Worksheets.Add("Sheet1");
- WorksheetMergedCellsRegion region = null;
- ws2.Rows[0].Cells[0].Value = strCaption;
- ws2.Rows[0].Cells[0].CellFormat.Alignment = Infragistics.Excel.HorizontalCellAlignment.Center;
- ws2.Rows[0].Cells[0].CellFormat.VerticalAlignment = Infragistics.Excel.VerticalCellAlignment.Center;
- ws2.Rows[0].Cells[0].CellFormat.WrapText = Infragistics.Excel.ExcelDefaultableBoolean.True;
- ws2.Rows[0].Cells[0].CellFormat.Font.Name = "宋体";
- ws2.Rows[0].Cells[0].CellFormat.Font.Height = 350;
- ws2.Rows[0].Cells[0].CellFormat.Font.Bold = ExcelDefaultableBoolean.True;
- ws2.Rows[0].Height = 880;
- int iMaxY = 0;
- int iMaxHeight = 0;
- int iMaxWidth = 0;
- for (int i = 0; i < ugData.DisplayLayout.Bands[0].Columns.Count; i++)
- {
- if (!ugData.DisplayLayout.Bands[0].Columns[i].Hidden && ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.LabelPosition != LabelPosition.None)
- {
- try
- {
- ws2.Rows[1 + ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginY].Cells[ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginX].Value = ugData.DisplayLayout.Bands[0].Columns[i].Header.Caption;
- ws2.Rows[1 + ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginY].Cells[ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginX].CellFormat.Alignment = Infragistics.Excel.HorizontalCellAlignment.Center;
- ws2.Rows[1 + ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginY].Cells[ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginX].CellFormat.VerticalAlignment = Infragistics.Excel.VerticalCellAlignment.Center;
- ws2.Rows[1 + ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginY].Cells[ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginX].CellFormat.WrapText = Infragistics.Excel.ExcelDefaultableBoolean.True;
- ws2.Rows[1 + ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginY].Cells[ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginX].CellFormat.Font.Bold = Infragistics.Excel.ExcelDefaultableBoolean.True;
- ws2.Rows[1 + ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginY].Cells[ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginX].CellFormat.WrapText = Infragistics.Excel.ExcelDefaultableBoolean.True;
- ws2.Rows[1 + ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginY].Cells[ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginX].CellFormat.Font.Name = "宋体";
- region = ws2.MergedCellsRegions.Add(1 + ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginY,
- ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginX,
- 1 + ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginY +
- ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.SpanY - 1,
- ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginX +
- ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.SpanX - 1);
- //region.CellFormat.FillPatternForegroundColor = Color.Lime;
- //region.CellFormat.LeftBorderColor = region.CellFormat.RightBorderColor = region.CellFormat.TopBorderColor = region.CellFormat.BottomBorderColor = Color.DarkBlue;
- if (ws2.Rows[1 + ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginY].Height != 500)
- ws2.Rows[1 + ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginY].Height = 500;
- if (ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.SpanY > iMaxHeight)
- {
- iMaxHeight = ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.SpanY;
- }
- if (ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginY > iMaxY)
- {
- iMaxY = ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginY;
- iMaxHeight = iMaxY + ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.SpanY;
- }
- if (ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.SpanX + ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginX > iMaxWidth)
- {
- iMaxWidth = ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.SpanX + ugData.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginX;
- }
- }
- catch (Exception ex) { string str = ex.Message; }
- }
- }
- region = ws2.MergedCellsRegions.Add(0, 0, 0, iMaxWidth - 1);
- //region.CellFormat.FillPatternForegroundColor = Color.Lime;
- //region.CellFormat.LeftBorderColor = region.CellFormat.RightBorderColor = region.CellFormat.TopBorderColor = region.CellFormat.BottomBorderColor = Color.DarkBlue;
- decimal dValue = 0.0M;
- bool bDecimal = false;
- for (int i = 0; i < ugData.Rows.Count; i++)
- {
- for (int j = 0; j < ugData.DisplayLayout.Bands[0].Columns.Count; j++)
- {
- try
- {
- if (!ugData.DisplayLayout.Bands[0].Columns[j].Hidden && ugData.DisplayLayout.Bands[0].Columns[j].RowLayoutColumnInfo.LabelPosition != LabelPosition.LabelOnly)
- {
- if (decimal.TryParse(Convert.ToString(ugData.Rows[i].Cells[j].Text), out dValue))
- {
- if (dValue == 0 || dValue < 1 || !Convert.ToString(ugData.Rows[i].Cells[j].Text).StartsWith("0"))
- {
- bDecimal = true;
- }
- else
- {
- bDecimal = false;
- }
- }
- else
- {
- bDecimal = false;
- }
- if (bDecimal)
- {
- ws2.Rows[1 + iMaxHeight + i].Cells[ugData.DisplayLayout.Bands[0].Columns[j].RowLayoutColumnInfo.OriginX].Value = dValue;
- }
- else
- {
- ws2.Rows[1 + iMaxHeight + i].Cells[ugData.DisplayLayout.Bands[0].Columns[j].RowLayoutColumnInfo.OriginX].Value = ugData.Rows[i].Cells[j].Text;
- }
- //if (ws2.Rows[1 + iMaxHeight + i].Height != 320)
- // ws2.Rows[1 + iMaxHeight + i].Height = 320;
- //ws2.Rows[1 + iMaxHeight + i].Cells[ugData.DisplayLayout.Bands[0].Columns[j].RowLayoutColumnInfo.OriginX].CellFormat.VerticalAlignment = Infragistics.Excel.VerticalCellAlignment.Center;
- //if (ugData.DisplayLayout.Bands[0].Columns[j].DataType == typeof(System.Decimal))
- //{
- // ws2.Rows[1 + iMaxHeight + i].Cells[ugData.DisplayLayout.Bands[0].Columns[j].RowLayoutColumnInfo.OriginX].CellFormat.Alignment = Infragistics.Excel.HorizontalCellAlignment.Right;
- //}
- //region = ws2.MergedCellsRegions.Add(1 + iMaxHeight + i, ugData.DisplayLayout.Bands[0].Columns[j].RowLayoutColumnInfo.OriginX,
- // 1 + iMaxHeight + i, ugData.DisplayLayout.Bands[0].Columns[j].RowLayoutColumnInfo.OriginX);
- //region.CellFormat.LeftBorderColor = region.CellFormat.RightBorderColor = region.CellFormat.TopBorderColor = region.CellFormat.BottomBorderColor = Color.DarkBlue;
- }
- }
- catch { }
- }
- }
- Infragistics.Excel.BIFF8Writer.WriteWorkbookToFile(wb, strFileName);
- if (File.Exists(strFileName) &&
- MessageBox.Show("数据导出成功!\r\n需要打开所导出文件吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
- {
- ProcessStartInfo p = new ProcessStartInfo(strFileName);
- p.WorkingDirectory = Path.GetDirectoryName(strFileName);
- Process.Start(p);
- }
- }
- }
- catch { }
- }
- public static void SaftRefreshUI(Control cl, Action action)
- {
- if (cl.InvokeRequired)
- {
- cl.Invoke(action);
- }
- else
- {
- action();
- }
- }
- public static void ExportDataWithSaveDialog2(ref UltraGrid myGrid1, string strFileName)
- {
- try
- {
- if (myGrid1.Rows.Count == 0) return;
- if (strFileName.Length == 0)
- strFileName = "未命名";
- SaveFileDialog dlg = new SaveFileDialog();
- dlg.Title = "保存";
- dlg.OverwritePrompt = true;
- dlg.Filter = "Excel文件(*.xls)|*.xls";
- dlg.AddExtension = true;
- dlg.FileName = strFileName;
- if (dlg.ShowDialog() == DialogResult.OK)
- {
- strFileName = dlg.FileName;
- //ultraGridExcelExporter1.Export(myGrid1, strFileName);
- if (MessageBox.Show("数据导出成功!\r\n需要打开所导出文件吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
- {
- ProcessStartInfo p = new ProcessStartInfo(strFileName);
- p.WorkingDirectory = Path.GetDirectoryName(strFileName);
- Process.Start(p);
- }
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- }
- }
|