XtraGrid 控件提供了一种快速而灵活的方式,能把它的内容传入打印页。 本主题演示了如何定制 XtraGrid 控件的打印件,并列出了可以打印网格控件的方式。 下面的小节提供了需要打印 XtraGrid 控件的所有信息。
注意 |
---|
在网格控件的打印输出中,不支持自定义绘制、Alpha 混合和颜色渐变功能。 |
打印基础
使用由 XtraPrinting 库提供的方法来打印 XtraGrid 控件,该库是一个独立产品,必须单独购买。 如果 XtraPrinting 库可用,则可以预览和打印网格控件的内容。 否则,打印功能不可用。 要确保 XtraGrid 的预览和打印可用,则检查 GridControl.IsPrintingAvailable 属性值。
要预览 XtraGrid,则调用 GridControl.ShowPreview 方法 (译者注: 在高版本的 XtraGrid 中,此方法已过时,应该调用 ShowPrintPreview 方法来代替,下面不再赘述)。 在打印时预览窗口出现,并显示网格控件。 要立即打印 XtraGrid 的内容,而不显示预览,则使用 GridControl.Print 方法。
下面的示例展示了如何预览 XtraGrid 控件。
C# | 复制代码 |
---|---|
private void ShowGridPreview(DevExpress.XtraGrid.GridControl grid) { // Check whether the XtraGrid control can be previewed. if(!grid.IsPrintingAvailable) { MessageBox.Show("The 'DevExpress.XtraPrinting' Library is not found", "Error"); return; } // Opens the Preview window. grid.ShowPreview(); } |
Visual Basic | 复制代码 |
---|---|
Sub ShowGridPreview(ByVal grid As DevExpress.XtraGrid.GridControl) ' Check whether the XtraGrid control can be previewed. If Not grid.IsPrintingAvailable Then MessageBox.Show("The 'DevExpress.XtraPrinting' Library is not found", "Error") Return End If ' Opens the Preview window. grid.ShowPreview() End Sub |
下面的插图展示了示例网格控件的预览窗口。
请参阅 XtraPrinting 库 的文档,以获得更多关于由打印预览窗口提供的功能的信息。
修改打印外观
在默认情况下,当网格被打印时,使用在屏幕上显示的相同外观 (通过 BaseView.Appearance 属性,可以为每个视图定制这些外观设置) 进行打印。 但是,每个视图都提供了可以用于绘制其可视化元素 (按钮、标头、单元格等) 的打印外观,这些设置仅用于打印。 当打印网格时,要使用打印外观来代替显示外观,则把视图的 OptionsPrint.UsePrintStyles 选项设置为 true。
使用视图的 BaseView.AppearancePrint 对象来调整打印外观。 此对象提供了多个属性来指定视图的不同元素 (对于网格视图 —— 数据行和分组行、偶数和奇数数据行、筛选面板、脚注面板等; 对于卡片视图 —— 卡片标题、字段值等) 的外观设置。 下面的插图展示了在“属性”窗口中的带区网格视图的打印外观。
下面的示例代码展示了如何启用打印外观,并定制偶数行的背景色:
C# | 复制代码 |
---|---|
gridView1.OptionsPrint.UsePrintStyles = true; // Enable the AppearancePrint.EvenRow property's settings. gridView1.OptionsPrint.EnableAppearanceEvenRow = true; // Set the background color for even rows. gridView1.AppearancePrint.EvenRow.BackColor = Color.LightYellow; |
Visual Basic | 复制代码 |
---|---|
GridView1.OptionsPrint.UsePrintStyles = True ' Enable the AppearancePrint.EvenRow property's settings. GridView1.OptionsPrint.EnableAppearanceEvenRow = True ' Set the background color for even rows. GridView1.AppearancePrint.EvenRow.BackColor = Color.LightYellow |
结果如下图所示。
也可以通过 XtraGrid 设计器的 “Print Appearances(打印外观)”页面 定制打印外观。
使用打印选项
每个视图都提供了一组选项,用于指定要打印的视图元素,以及在打印网格控件时用于绘制这些元素的外观设置。 这些选项可以通过下列途径进行访问:
-
分别属于网格视图、带区网格视图和卡片视图的 GridView.OptionsPrint、BandedGridView.OptionsPrint 和 CardView.OptionsPrint 属性;
- XtraGrid 设计器 的 “Printing Settings(打印设置)”页面;
- 在预览窗口中显示的 Customize(定制) 按钮。 单击此按钮,为当前显示在网格内的所有视图调用修改打印设置的对话框 (Printable Component Editor)。
下面的插图展示了为显示主/从关系 (“Products”、“Order Details”和“Category”) 的网格调用的 Printable Component Editor。