カスタム印刷プレビューを作成し、印刷時のグリッドの表示方法をカスタマイズできます。これは、Init メソッドを使用して実行できます。C1.Win.C1TrueDBGrid.PrintForm から継承された、フォームの FormBorderStyle、 MaximizeBox、 MinimizeBox、 ControlBox などのプロパティをオーバーライドするには、PrintForm の Init メソッドをオーバーライドします。まず base.Init() を呼び出し、次に希望するプロパティを設定します。
以下の手順を実行します。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
FillGrid() |
C#コードの書き方
C# |
コードのコピー
|
---|---|
FillGrid(); |
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
Private Sub FillGrid() Dim maxrows As Integer = 5 Dim dt As New DataTable("testdatatable") Dim dc As DataColumn Dim dr As DataRow ' 整数列を設定します dc = New DataColumn() dc.DataType = System.Type.[GetType]("System.DateTime") dc.ColumnName = "DT1" dt.Columns.Add(dc) ' 文字列を実行します dc = New DataColumn() dc.DataType = System.Type.[GetType]("System.DateTime") dc.ColumnName = "DT2" dt.Columns.Add(dc) ' 文字列を実行します dc = New DataColumn() dc.DataType = System.Type.[GetType]("System.DateTime") dc.ColumnName = "DT3" dt.Columns.Add(dc) Dim rnd As New Random() For i As Integer = 0 To maxrows - 1 dr = dt.NewRow() dr("DT1") = DateTime.Now.AddDays(i) dr("DT2") = DateTime.Now.AddMonths(i) dr("DT3") = DateTime.Now.AddYears(i) dt.Rows.Add(dr) Next Me.C1TrueDBGrid1.DataSource = dt Me.C1TrueDBGrid1.Columns("DT1").EnableDateTimeEditor = True Me.C1TrueDBGrid1.Columns("DT2").EnableDateTimeEditor = True Me.C1TrueDBGrid1.Columns("DT3").EnableDateTimeEditor = True End Sub |
C#コードの書き方
C# |
コードのコピー
|
---|---|
private void FillGrid() { int maxrows = 5; DataTable dt = new DataTable("testdatatable"); DataColumn dc; DataRow dr; // 整数列を設定します dc = new DataColumn(); dc.DataType = System.Type.GetType("System.DateTime"); dc.ColumnName = "DT1"; dt.Columns.Add(dc); // 文字列を実行します dc = new DataColumn(); dc.DataType = System.Type.GetType("System.DateTime"); dc.ColumnName = "DT2"; dt.Columns.Add(dc); // 文字列を実行します dc = new DataColumn(); dc.DataType = System.Type.GetType("System.DateTime"); dc.ColumnName = "DT3"; dt.Columns.Add(dc); Random rnd = new Random(); for (int i = 0; i < maxrows; i++) { dr = dt.NewRow(); dr["DT1"] = DateTime.Now.AddDays(i); ; dr["DT2"] = DateTime.Now.AddMonths(i); dr["DT3"] = DateTime.Now.AddYears(i); dt.Rows.Add(dr); } this.c1TrueDBGrid1.DataSource = dt; this.c1TrueDBGrid1.Columns["DT1"].EnableDateTimeEditor = true; this.c1TrueDBGrid1.Columns["DT2"].EnableDateTimeEditor = true; this.c1TrueDBGrid1.Columns["DT3"].EnableDateTimeEditor = true; } |
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
Public Class PrintForm1 Inherits C1.Win.C1TrueDBGrid.PrintForm |
C# コードの書き方
C# |
コードのコピー
|
---|---|
public partial class PrintForm1 : C1.Win.C1TrueDBGrid.PrintForm |
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
Protected Overrides Sub Init() MyBase.Init() FormBorderStyle = FormBorderStyle.Sizable Me.ControlBox = True Me.MinimizeBox = False Me.MaximizeBox = False End Sub |
C#コードの書き方
C# |
コードのコピー
|
---|---|
protected override void Init() { base.Init(); FormBorderStyle = FormBorderStyle.Sizable; this.ControlBox = true; this.MinimizeBox = false; this.MaximizeBox = false; } |
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
C1TrueDBGrid1.PrintInfo.PreviewFormClassName = "ProjectName.PrintForm" C1TrueDBGrid1.PrintInfo.PrintPreview() |
C#コードの書き方
C# |
コードのコピー
|
---|---|
c1TrueDBGrid1.PrintInfo.PreviewFormClassName = "ProjectName.PrintForm1"; c1TrueDBGrid1.PrintInfo.PrintPreview(); |
アプリケーションを実行し、アプリケーションにボタンとデータを表示するグリッドが表示されることを確認します。プレビューボタンをクリックして、カスタマイズされた印刷プレビューフォームが表示されることを確認します。フォームには、閉じるボタンだけが表示され、最小化ボタンと最大化ボタンは表示されません。