フィールドの書式を変更してフィールドのコンテンツを強調表示する代わりに、別のフィールドの Visible プロパティを True または False に設定することで、特殊効果を生成することができます。たとえば、「BoxCtl」という新しいフィールドを作成し、製品名が太線の四角形で囲まれるように書式設定するには、スクリプトを次のように変更します。
If UnitsInStock < ReorderLevel Then
BoxCtl.Visible = True
Else
BoxCtl.Visible = False
End If
追加注文レベルより少ない製品にボックスを表示して強調表示するには、次のようなイベントスクリプトを使用します。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
Dim script As String = _ "If UnitsInStock < ReorderLevel Then" & vbCrLf & _ " BoxCtl.Visible = True" & vbCrLf & _ "Else" & vbCrLf & _ " BoxCtl.Visible = False" & vbCrLf & _ "End If" c1r.Sections.Detail.OnPrint = script |
C# コードの書き方
C# |
コードのコピー
|
---|---|
string script = "if (UnitsInStock < ReorderLevel) then\r\n" + "BoxCtl.Visible = true\r\n" + "else\r\n" + "BoxCtl.Visible = false\r\n" + "end if\r\n"; c1r.Sections.Detail.OnPrint = script; |
このコードは、VBScript イベントハンドラを含む文字列を作成し、それをセクションの OnPrint プロパティに割り当てます。
コードを記述する代わりに、C1Report デザイナを使用して、詳細セクションの OnPrint プロパティの VBScript エディタに次のスクリプトコードを直接入力できます。次の手順を実行します。
If UnitsInStock < ReorderLevel Then
BoxCtl.Visible = True
Else
BoxCtl.Visible = False
End If
コントロールは、セクションが印刷されようとするたびに VBScript コードを実行します。このスクリプトは「ReorderLevel」データベースフィールドの値を取得し、その値に基づいて「ProductName」レポートフィールドの Font.Bold と ForeColor プロパティを設定します。商品が追加注文レベル未満の場合、その名前は太い赤字になります。
次のスクリーンショットは、特殊効果が適用されたレポートのセクションです。