DevExpress.XtraReports.UI.XtraReport表格如何合并单元格

DevExpress.XtraReports.UI.XtraReport表格如何合并单元格,第1张

new SystemDrawingFont("楷体_GB2312", 1425F, SystemDrawingFontStyleBold,SystemDrawingGraphicsUnitPoint, ((byte)(134))) : Font; rptsize = size; m_rptAdd(rpt); } public void AddReportTitle(string Caption, bool Header, Font Font, StringAlignment TextAlignment,SystemDrawingSize size) { DevExpressXtraPrintingTextAlignment alig = DevExpressXtraPrintingTextAlignmentMiddleLeft; if (TextAlignment == StringAlignmentCenter) alig = DevExpressXtraPrintingTextAlignmentMiddleCenter; if (TextAlignment == StringAlignmentFar) alig = DevExpressXtraPrintingTextAlignmentMiddleRight; SetReportTitle(Caption, Header, Font, alig, size); } /// /// 定义报表标题 /// /// 标题内容 /// 页头或页脚 public void AddReportTitle(string Caption, bool Header) { AddReportTitle(Caption, Header, null, StringAlignmentNear, SizeEmpty); } /// /// 定义报表字段 /// /// 表格头标题 /// 标题字体(楷体_GB2312、小四) /// 绑定字段 /// 对齐方式 /// 表格字体(楷体_GB2312、小四) /// 自动换行 /// 表格脚内容 /// 是否合计 /// 格式化字符串 /// 标题的高度和宽度,若不定义便检测Caption,否则自换行并居中 public void SetReportField(string Caption, Font HeaderFont, string Field, DevExpressXtraPrintingTextAlignment TextAlignment, Font DetailFont , bool WordWrap, string Bottom, bool Sum, string FormatString, Size HeaderSize) { ReportField rpf = new ReportField(); rpfCaption = Caption; rpfHeaderFont = HeaderFont; rpfField = Field; rpfxTextAlignment = TextAlignment; rpfDetailFont = DetailFont; rpfWordWrap = WordWrap; rpfBottom = Bottom; rpfSum = Sum; rpfFormatString = FormatString; rpfHeaderSize = HeaderSize; m_rpfAdd(rpf); } public void AddReportField(string Caption, Font HeaderFont, string Field, StringAlignment TextAlignment, Font DetailFont , bool WordWrap, string Bottom, bool Sum, string FormatString, Size HeaderSize) { DevExpressXtraPrintingTextAlignment alig = DevExpressXtraPrintingTextAlignmentMiddleLeft; if (TextAlignment == StringAlignmentCenter) alig = DevExpressXtraPrintingTextAlignmentMiddleCenter; if (TextAlignment == StringAlignmentFar) alig = DevExpressXtraPrintingTextAlignmentMiddleRight; SetReportField(Caption, HeaderFont, Field, alig, DetailFont, WordWrap, Bottom, Sum, FormatString, HeaderSize); } /// /// 定义报表字段 /// /// 表格头标题 /// 绑定字段 public void AddReportField(string Caption, string Filed) { AddReportField(Caption, null, Filed, StringAlignmentNear, null, false, "", false, stringEmpty, SizeEmpty); } /// /// 定义条码 /// /// 条码内容(A-Z,0-9) /// 起点 /// 大小 /// 是否显示文字 /// 字段名 public void SetReportBarCode(string Text, Point pint, Size size, bool showText, string Field) { m_rpbText = Text; m_rpbpint = pint; m_rpbsize = size; m_rpbshowText = showText; m_rpbField = Field; } private const int c_LineWidth =3;//预留边线的宽度 /// /// 报表每个单元打印前事件 /// public event ReportUnitAfterPrint UnitAfterPrint; //报表头、报表尾整个报表中只会加载一次,页头、页尾每一页都会加载一次 //本通用报表只有页头,页尾和表体三部份 private ReportMain rpMain; /// /// 初始化通用表格打印 /// public ctlTableXReport() { thisReportUnit = ReportUnitTenthsOfAMillimeter; //使用01毫米计量单位 thisDpi = 254F; baseBeforePrint += new SystemDrawingPrintingPrintEventHandler(XReport_BeforePrint); baseAfterPrint+=new EventHandler(XReport_AfterPrint); } /// /// 显示打印 /// /// public void ShowDialog() { baseShowPreview(); } /// /// 显示打印 /// /// /// public void ShowDialog(IWin32Window owner) { baseShowPreviewDialog(); } /// /// 自动页长时计算每页打印的行数 /// /// 总行数 /// 充许每页打印最大行数 /// public int GetAutoRow(int rows, int maxrow) { if (rows % maxrow == 0) return maxrow; else { //找余数为0或最接近最大行数 List m = new List(); for (int i = maxrow; i >= maxrow 3 / 4; i--) { mAdd(rows % i); if (rows % i == 0) return i; } int k = mAsEnumerable()Max(); for (int i = 0; i < mCount(); i++) { if (m[i] == k) return maxrow - i;//只能最接近了 } return maxrow; } } /// /// 设置标准格式报表 /// private void SetReport( ReportMain rpm,ReportTitle[] rpt,ReportField[] rpf ,ReportBarcode rpb) { rpMain = rpm; //初始化变量 if (rpMainAlign == 0) rpMainAlign = StringAlignmentCenter; for (int i = 0; i < rptLength; i++) { if (rpt[i]xTextAlignment ==0) rpt[i]xTextAlignment=DevExpressXtraPrintingTextAlignmentTopCenter; if (rpt[i]Font == null) rpt[i]Font = new SystemDrawingFont("楷体_GB2312", 1425F,SystemDrawingFontStyleBold, SystemDrawingGraphicsUnitPoint, ((byte)(134))); } for (int i = 0;i < rpfLength ;i++) { if (rpf[i]xTextAlignment ==0) rpf[i]xTextAlignment=DevExpressXtraPrintingTextAlignmentTopLeft; if (rpf[i]HeaderFont==null) rpf[i]HeaderFont = new SystemDrawingFont("楷体_GB2312", 12F,SystemDrawingFontStyleRegular, SystemDrawingGraphicsUnitPoint, ((byte)(0))); if (rpf[i]DetailFont==null) rpf[i]DetailFont = new SystemDrawingFont("楷体_GB2312", 12F, SystemDrawingFontStyleRegular, SystemDrawingGraphicsUnitPoint, ((byte)(0))); if (rpf[i]HeaderSizeIsEmpty) { SizeF size = MeasureString(rpf[i]Caption,rpf[i]HeaderFont); rpf[i]HeaderSize = new Size((int)sizeWidth + (i==0h:-c_LineWidth); xrlineWidth = w + 2 c_LineWidth; //水平线加一个宽度 xrlineLeft = x - c_LineWidth; } return xrline; } #region 创建表格的各个功能单元 // 创建表格头 private XRTable CreateTableHeader(ReportField[] rpf,bool border) { SystemDrawingSize tablesize = new Size(); XRTableRow headerRow = new XRTableRow(); headerRowDpi = 254F; foreach (ReportField obj in rpf) { XRTableCell headerCell = new XRTableCell(); headerCellDpi = 254F; headerCellFont = objHeaderFont; headerCellWidth = objHeaderSizeWidth; if (border) //上下边和侧边 if (objEquals(rpf[0])) headerCellBorders =(DevExpressXtraPrintingBorderSide) (DevExpressXtraPrintingBorderSideTop | DevExpressXtraPrintingBorderSideRight | DevExpressXtraPrintingBorderSideLeft|DevExpressXtraPrintingBorderSideBottom); else headerCellBorders = (DevExpressXtraPrintingBorderSide)(DevExpressXtraPrintingBorderSideBottom| DevExpressXtraPrintingBorderSideTop | DevExpressXtraPrintingBorderSideRight); headerCellBorderWidth = c_LineWidth; if (tablesizeHeight < objHeaderSizeHeight) tablesizeHeight = objHeaderSizeHeight; headerCellWordWrap = true; //自动换行 headerCellTextAlignment = DevExpressXtraPrintingTextAlignmentMiddleCenter; headerCellCanGrow = false; headerCellText = objCaption; headerCellTag = objField; //headerCellBackColor = ColorRed; headerCellPrintOnPage += new PrintOnPageEventHandler(headerCell_PrintOnPage); if (objName !=null && objName != stringEmpty) headerCellName ="header_"+ objName; headerRowCellsAdd(headerCell); tablesizeWidth = tablesizeWidth + headerCellWidth; } headerRowSize = tablesize; XRTable tableHeader = new XRTable(); tableHeaderDpi = 254F; tableHeaderSize = tablesize; tableHeaderRowsAdd(headerRow); return tableHeader; } // 创建表格 private XRTable CreateTableDetail(ReportField[] rpf, int rowHeight,bool border) { SystemDrawingSize tablesize = new Size(); tablesizeHeight = rowHeight; XRTableRow detailRow = new XRTableRow(); detailRowDpi = 254F; foreach (ReportField obj in rpf) { XRTableCell detailCell = new XRTableCell(); detailCellDpi = 254F; detailCellFont = objDetailFont; detailCellWidth = objHeaderSizeWidth; if (objFormatString==null || objFormatString == stringEmpty) detailCellDataBindingsAdd("Text", null, objField); else detailCellDataBindingsAdd("Text", null,objField,objFormatString); detailCellTag = objCaption; detailCellTextAlignment = objxTextAlignment; detailCellWordWrap = objWordWrap; //detailCellBackColor = ColorBlue; detailCellCanGrow = false; if (border) //侧边和下边 if (objEquals(rpf[0])) detailCellBorders = (DevExpressXtraPrintingBorderSide) (DevExpressXtraPrintingBorderSideRight | DevExpressXtraPrintingBorderSideLeft| DevExpressXtraPrintingBorderSideBottom); else detailCellBorders = (DevExpressXtraPrintingBorderSide)(DevExpressXtraPrintingBorderSideRight | DevExpressXtraPrintingBorderSideBottom); detailCellBorderWidth = c_LineWidth; detailCellPrintOnPage += new PrintOnPageEventHandler(detailCell_PrintOnPage); if (objName != null && objName != stringEmpty) detailCellName = "detail_" + objName; detailRowCellsAdd(detailCell); tablesizeWidth = tablesizeWidth + detailCellWidth;// +LineCellWidth; } detailRowSize = tablesize; XRTable tableDetail = new XRTable(); tableDetailDpi = 254F; tableDetailSize = tablesize; tableDetailRowsAdd(detailRow); tableDetailPrintOnPage += new PrintOnPageEventHandler(tableDetail_PrintOnPage); return tableDetail; } // 创建表格脚(若Rows[0]CellsCount 表示无表格脚) private XRTable CreateTableFooter(ReportField[] rpf, int rowHeight, bool border) { SystemDrawingSize tablesize = new Size(); tablesizeHeight = rowHeight; XRTableRow FooterRow = new XRTableRow(); FooterRowDpi = 254F; bool isfooter = false; foreach (ReportField obj in rpf) { if (objSum || (objBottom != null && objBottom != stringEmpty)) { isfooter = true; break; } } if (isfooter) foreach (ReportField obj in rpf) { XRTableCell FooterCell = new XRTableCell(); FooterCellDpi = 254F; FooterCellFont = objHeaderFont; FooterCellWidth = objHeaderSizeWidth; FooterCellTag = objCaption; FooterCellCanGrow = false; if (objSum) //合计 { if (objFormatString == null || objFormatString == stringEmpty) FooterCellDataBindingsAdd("Text", null, objField); else FooterCellDataBindingsAdd("Text", null, objField, objFormatString); DevExpressXtraReportsUIXRSummary xrSummary = new DevExpressXtraReportsUIXRSummary(); xrSummaryRunning = DevExpressXtraReportsUISummaryRunningPage; FooterCellSummary = xrSummary; } else FooterCellText = objBottom; if (border) //侧边和下边 if (objEquals(rpf[0])) FooterCellBorders = (DevExpressXtraPrintingBorderSide) (DevExpressXtraPrintingBorderSideRight | DevExpressXtraPrintingBorderSideLeft | DevExpressXtraPrintingBorderSideBottom); else FooterCellBorders = (DevExpressXtraPrintingBorderSide) (DevExpressXtraPrintingBorderSideRight | DevExpressXtraPrintingBorderSideBottom); FooterCellBorderWidth = c_LineWidth; FooterCellTextAlignment = objxTextAlignment; FooterCellWordWrap = objWordWrap; //FooterCellBackColor = ColorYellow; FooterCellPrintOnPage += new PrintOnPageEventHandler(FooterCell_PrintOnPage); if (objName != null && objName != stringEmpty) FooterCellName = "footer_" + objName; FooterRowCellsAdd(FooterCell); tablesizeWidth = tablesizeWidth + FooterCellWidth;// +LineCellWidth; } XRTable tableFooter = new XRTable(); tableFooterDpi = 254F; FooterRowSize = tablesize; tableFooterSize = tablesize; tableFooterRowsAdd(FooterRow); return tableFooter; } // 创建页头或页脚标题 (RowsCount =0表示无标题) private XRPanel CreateTitleHeader(ReportTitle[] rpt, bool Header) { XRPanel xrpHeader = new XRPanel(); xrpHeaderDpi = 254F; SystemDrawingSize size = new Size(); foreach (ReportTitle obj in rpt) { if (objHeader == Header) { XRLabel xrt = new XRLabel(); xrtDpi = 254F; xrtText = objCaption; xrtTag = Header; xrtTextAlignment = objxTextAlignment; xrtWordWrap = true; xrtCanGrow = false; xrtFont = objFont; if (objsizeIsEmpty) { xrtWidth = (thisPageWidth - (thisMarginsLeft + thisMarginsRight)); xrtHeight = (int)MeasureString(objCaption, objFont, xrtWidth)Height + 1; } else { xrtWidth = objsizeWidth; xrtHeight = objsizeHeight; } xrtPrintOnPage += new PrintOnPageEventHandler(title_PrintOnPage); xrtTop = sizeHeight; sizeWidth = xrtWidth; sizeHeight = sizeHeight + xrtHeight; ; xrpHeaderControlsAdd(xrt); } } xrpHeaderSize = size; return xrpHeader; } // 创建条码 private XRBarCode createBarCode(ReportBarcode rpb) { XRBarCode xrbar = new XRBarCode(); xrbarAutoModule = true; xrbarDpi = 254F; xrbarLocation = rpbpintIsEmpty

如我在indexhtml 内写

<%-header%> 的header还一定是ejs ,不过你可将扩展名加进去。

appset(‘view engine’, ‘html’);

appengine(‘html’,require(‘ejs’)renderFile);

创建Hello World不应该是这样子的。我看出你的意思了,你只是想写控制台下的简单程序。可是你选择的是Win32程序。那个都涉及到SDK了。

按以下步骤做,file->new->project->empty project(即选择空项目,我的是中文版,不知道英文版怎么写的,翻译过来应该是empty project吧)。

然后再生出的空工程里面,会发现Solution视图里面有header files,source files,resource files,在source files里面添加一个item。选择cpp即可开始编辑。写好后点击绿色的小箭头(或者按F5)就会给你一条龙服务。编译链接执行一次性完成。而且打印出hello world后控制台自动关闭,所以你看不到运行效果,因此要在主函数末尾return 0上一行添加system("pause");这样就能看到了。如果不想这样也行,不要点绿色小箭头,而是按Ctrl+F5就直接运行而不调试(这个在Debug菜单里也有)。

说的够详细了吧。我可都是一字一句敲进去的。

如果还有疑问。发函到lcsaintlee@gmailcom半个工作日内给你回复。

你好,两个都是设置Header的,但是如果你是使用原生node的>

以上就是关于DevExpress.XtraReports.UI.XtraReport表格如何合并单元格全部的内容,包括:DevExpress.XtraReports.UI.XtraReport表格如何合并单元格、devexpress 获取当前gridview的所有数据到datatable、关于DevExpress的XtraReports的用法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9384312.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存