/// <summary> /// BandGridView导出为Excel表格 /// </summary> /// <param name="bgv">将列分组的表格数据视图</param> /// <param name="FileName">文件名</param> /// <param name="SheetName">工作表名</param> public void BandedGridViewToExcel(DevExpress.XtraGrid.Views.BandedGrid.BandedGridView bgv, string FileName, string SheetName = "") { SaveFileDialog sDialog = new SaveFileDialog(); sDialog.Filter = "Excel 工作簿(*.xlsx)|*.xlsx|Excel 97-2003 工作簿(*.xls)|*.xls"; if (FileName.Trim() != "") { sDialog.FileName = FileName; } if (sDialog.ShowDialog() == DialogResult.OK) { DevExpress.XtraPrinting.XlsxExportOptionsEx op = new DevExpress.XtraPrinting.XlsxExportOptionsEx(); op.ExportType = DevExpress.Export.ExportType.WYSIWYG; //保留导出表格的样式 if (SheetName.Trim() != "") { op.SheetName = SheetName;//工作簿名称 } bgv.AppearancePrint.BandPanel.Font = new Font("微软雅黑", 10); bgv.AppearancePrint.BandPanel.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; bgv.AppearancePrint.Row.Font = new System.Drawing.Font("微软雅黑", 10); bgv.AppearancePrint.Row.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; bgv.OptionsPrint.PrintHeader = false; //是否打印行头 bgv.OptionsPrint.AutoWidth = false; //获取或设置输出/导出输出中的列的宽度是否会自动改变,以便视图与页面宽度相匹配。 try { bgv.ExportToXlsx(sDialog.FileName, op); MessageBox.Show("导出成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show("导出失败,失败原因:" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } }
private void gvwView_DoubleClick(object sender, EventArgs e) { BandedGridView view = (BandedGridView)sender; if (view != null) { Point pt = view.GridControl.PointToClient(Control.MousePosition); BandedGridHitInfo info = view.CalcHitInfo(pt); DevExpress.XtraGrid.Views.BandedGrid.BandedGridView sndr = sender as DevExpress.XtraGrid.Views.BandedGrid.BandedGridView; DevExpress.Utils.DXMouseEventArgs dxMouseEventArgs = e as DevExpress.Utils.DXMouseEventArgs; DevExpress.XtraGrid.Views.BandedGrid.ViewInfo.BandedGridHitInfo hitInfo = sndr.CalcHitInfo(dxMouseEventArgs.Location); if (hitInfo.RowHandle < 0) { if (hitInfo.Band.Caption.Equals("Chart")) { this.Close(); Form fc = Application.OpenForms["FRM_SMT_OS_TOPO_WEEKLY_CHART"]; if (fc != null) { fc.Show(); } else { FRM_SMT_OS_TOPO_WEEKLY_CHART f = new FRM_SMT_OS_TOPO_WEEKLY_CHART(); f.Show(); } } } } }
private void gvwView_DoubleClick(object sender, EventArgs e) { BandedGridView view = (BandedGridView)sender; if (view != null) { Point pt = view.GridControl.PointToClient(Control.MousePosition); BandedGridHitInfo info = view.CalcHitInfo(pt); DevExpress.XtraGrid.Views.BandedGrid.BandedGridView sndr = sender as DevExpress.XtraGrid.Views.BandedGrid.BandedGridView; DevExpress.Utils.DXMouseEventArgs dxMouseEventArgs = e as DevExpress.Utils.DXMouseEventArgs; DevExpress.XtraGrid.Views.BandedGrid.ViewInfo.BandedGridHitInfo hitInfo = sndr.CalcHitInfo(dxMouseEventArgs.Location); if (hitInfo.RowHandle < 0) { if (hitInfo.Band.Caption.Contains("Chart")) { FRM_SMT_DMP_TOPO_DAILY f1 = new FRM_SMT_DMP_TOPO_DAILY("FORM"); f1.Show(); } } } }
public MyBandedGridViewHandler(DevExpress.XtraGrid.Views.BandedGrid.BandedGridView gridView) : base(gridView) { }