'宣言 Public Property ClippingOverride As ClippingOverride
public ClippingOverride ClippingOverride {get; set;}
UltraWinGrid がレポートを作成するために使用する印刷 API を特定のプリンタ ドライバが実装する方法には不整合があります。ほとんどのインスタンスでは、コントロールはこれらのドライバの存在を検出し自動補正ができます。
一部のドライバは、テキスト領域のクリッピングを一貫性なく処理します。補正なしで、これらのドライバを使用して印刷されたレポートは複数のセルをオーバーラップするテキストがある場合や、文字が行または行と行のヘッダーを分割するグリッド線の下に展開される場合があります。テキストの折り返しも影響を受けます。
行は自動的に垂直方向にサイズ変更できますが、大きなフォント サイズ、列、およびグループ ヘッダーに順応することはできません。列またはグループ ヘッダーのテキストがクリップされると、ヘッダーのサイズを変更する必要があり、そうすればテキストすべてが表示されます。ただし、通常の状況下では、ヘッダー テキストはヘッダーの境界を超えて垂直または水平方向に拡張されません。
ClippingOverride プロパティは、プリンタ ドライバのクリッピング不整合の検出および補正を UltraWinGrid がどのように処理するかを決定する機能をユーザーに与えます。デフォルト設定の ClippingOverrideAuto は、コントロールで現在のドライバが補正を求めるかどうかを自動的に検出し、検出される場合はそれに適用します。この設定はほとんどのケースで機能しますが、絶対に必要でない限り変更すべきではありません。
ClippingOverride の他の設定は、クリップ補正が適用されるかどうかの手動制御をユーザーに与えます。このプロパティを ClippingOverrideYes に設定すると、ドライバがこれを必要としないことをコントロールが決定した場合であってもテキスト クリッピング補正を適用します。これが必要であることをコントロールが決定しても、ClippingOverrideNo の設定は補正をオフにします。
特定のプリンタ ドライバのバージョンに補正を適用する必要があることだけが分かります。PrintDocument オブジェクトのプロパティを使用して、レポートを印刷するためにどのプリンタ ドライバとドライバのバージョンを使用するかを決定できます。
注意 ClippingOverride プロパティの不正な設定で、レポートを印刷する時に予期しない結果となる場合があります。グリッドの線をオーバーラップするテキスト、それを含むセルの外に拡張するテキストを確認するか、印刷したテキストの端とセルの端の間のギャップを確認します。このような問題に遭遇する場合、最初に ClippingOverride をデフォルトに設定します。デフォルト値を使用する時にこれらのタイプの問題が認められる場合、このプロパティを他の値のひとつに設定します。
この性質の問題は、プリンタ メモリが不十分でないなどの UltraWinGrid およびアプリケーションに対し完全に外部的な問題に起因します。印刷問題を解決しようとする場合、プリンタ設定が正しく、このプロパティの値を変更する前に異なるドライバ設定 (画像として TrueType フォントを印刷したり、低解像度で印刷するなど) を使用していることを確認してください。
Imports Infragistics.Shared Imports Infragistics.Win Imports Infragistics.Win.UltraWinGrid Private Sub UltraGrid1_InitializePrintPreview(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.CancelablePrintPreviewEventArgs) Handles ultraGrid1.InitializePrintPreview ' Set the zomm level to 100 % in the print preview. e.PrintPreviewSettings.Zoom = 1.0 ' Set the location and size of the print preview dialog. e.PrintPreviewSettings.DialogLeft = SystemInformation.WorkingArea.X e.PrintPreviewSettings.DialogTop = SystemInformation.WorkingArea.Y e.PrintPreviewSettings.DialogWidth = SystemInformation.WorkingArea.Width e.PrintPreviewSettings.DialogHeight = SystemInformation.WorkingArea.Height ' Horizontally fit everything in a signle page. e.DefaultLogicalPageLayoutInfo.FitWidthToPages = 1 ' Set up the header and the footer. e.DefaultLogicalPageLayoutInfo.PageHeader = "Title" e.DefaultLogicalPageLayoutInfo.PageHeaderHeight = 40 e.DefaultLogicalPageLayoutInfo.PageHeaderAppearance.FontData.SizeInPoints = 14 e.DefaultLogicalPageLayoutInfo.PageHeaderAppearance.TextHAlign = HAlign.Center e.DefaultLogicalPageLayoutInfo.PageHeaderBorderStyle = UIElementBorderStyle.Solid ' Use <#> token in the string to designate page numbers. e.DefaultLogicalPageLayoutInfo.PageFooter = "Page <#>." e.DefaultLogicalPageLayoutInfo.PageFooterHeight = 40 e.DefaultLogicalPageLayoutInfo.PageFooterAppearance.TextHAlign = HAlign.Right e.DefaultLogicalPageLayoutInfo.PageFooterAppearance.FontData.Italic = DefaultableBoolean.True e.DefaultLogicalPageLayoutInfo.PageFooterBorderStyle = UIElementBorderStyle.Solid ' Set the ClippingOverride to Yes. e.DefaultLogicalPageLayoutInfo.ClippingOverride = ClippingOverride.Yes ' Set the document name through the PrintDocument which returns a PrintDocument object. e.PrintDocument.DocumentName = "Document Name" End Sub
using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using System.Diagnostics; private void ultraGrid1_InitializePrintPreview(object sender, Infragistics.Win.UltraWinGrid.CancelablePrintPreviewEventArgs e) { // Set the zomm level to 100 % in the print preview. e.PrintPreviewSettings.Zoom = 1.0; // Set the location and size of the print preview dialog. e.PrintPreviewSettings.DialogLeft = SystemInformation.WorkingArea.X; e.PrintPreviewSettings.DialogTop = SystemInformation.WorkingArea.Y; e.PrintPreviewSettings.DialogWidth = SystemInformation.WorkingArea.Width; e.PrintPreviewSettings.DialogHeight = SystemInformation.WorkingArea.Height; // Horizontally fit everything in a signle page. e.DefaultLogicalPageLayoutInfo.FitWidthToPages = 1; // Set up the header and the footer. e.DefaultLogicalPageLayoutInfo.PageHeader = "Title"; e.DefaultLogicalPageLayoutInfo.PageHeaderHeight = 40; e.DefaultLogicalPageLayoutInfo.PageHeaderAppearance.FontData.SizeInPoints = 14; e.DefaultLogicalPageLayoutInfo.PageHeaderAppearance.TextHAlign = HAlign.Center; e.DefaultLogicalPageLayoutInfo.PageHeaderBorderStyle = UIElementBorderStyle.Solid; // Use <#> token in the string to designate page numbers. e.DefaultLogicalPageLayoutInfo.PageFooter = "Page <#>."; e.DefaultLogicalPageLayoutInfo.PageFooterHeight= 40; e.DefaultLogicalPageLayoutInfo.PageFooterAppearance.TextHAlign = HAlign.Right; e.DefaultLogicalPageLayoutInfo.PageFooterAppearance.FontData.Italic = DefaultableBoolean.True; e.DefaultLogicalPageLayoutInfo.PageFooterBorderStyle = UIElementBorderStyle.Solid; // Set the ClippingOverride to Yes. e.DefaultLogicalPageLayoutInfo.ClippingOverride = ClippingOverride.Yes; // Set the document name through the PrintDocument which returns a PrintDocument object. e.PrintDocument.DocumentName = "Document Name"; }