カスタム印刷プレビューを作成し、印刷時のグリッドの表示方法をカスタマイズできます。これは、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(); |
|
アプリケーションを実行し、アプリケーションにボタンとデータを表示するグリッドが表示されることを確認します。プレビューボタンをクリックして、カスタマイズされた印刷プレビューフォームが表示されることを確認します。フォームには、閉じるボタンだけが表示され、最小化ボタンと最大化ボタンは表示されません。