True WinReports for .NET 4.0J(C1Report)では、次の新しい機能が追加されました。
1 ページに出力する行数を指定できます。指定の行数を超えた場合は改ページし、指定の行数に満たない場合は空白行として出力します。その結果、各ページのデータ数が異なっていても、すべてのページを同じレイアウトで出力することができます。
グラフ種別が6種類追加されました。また、グラフの3D表示、グラフの色を一括して指定するテーマ色、売上予測で役立つ近似曲線グラフにも対応しました。
バーの細い幅と太い幅の設定や、バー幅のドット補正、バーコード画像の解像度指定に対応しました。バーの幅はミリメートル単位だけでなくピクセル単位でも指定できます。
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
C1.Win.C1Report c1r = C1.Win.C1Report.C1Report; XlsFilter filter = new XlsFilter(fileName); filter.OpenXml = true; c1r.RenderToFilter(filter); |
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Dim filter As XlsFilter = New XlsFilter(outputFileName) filter.Images = False c1r.RenderToFilter(filter) |
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
XlsFilter filter = new XlsFilter(outputFileName); filter.Images = false; c1r.RenderToFilter(filter); |
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' 電子メールメッセージを作成します
Dim msg As MailMessage = New MailMessage("from@from.com", "to@to.com", "Catalog Spreadsheet.", "Here's the spreadsheet I promised you.")
' スプレッドシートで添付ファイルを作成します
Dim stream As MemoryStream = New MemoryStream
C1Report1.RenderToStream(stream, FileFormatEnum.Excel)
stream.Position = 0
Dim att As Attachment = New Attachment(stream, "Catalog.xls", "application/x-excel")
msg.Attachments.Add(att)
' 別の添付ファイルを作成します。そうしないと機能しません
stream = New MemoryStream(Encoding.ASCII.GetBytes("This is some plain text"))
msg.Attachments.Add(New Attachment(stream, "plain.txt"))
' メッセージを送信します
Dim client As SmtpClient = New SmtpClient("smtp.mymail.com")
client.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials
client.Send(msg)
End Sub
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
private void button1_Click(object sender, EventArgs e)
{
// 電子メールメッセージを作成します
MailMessage msg = new MailMessage(
"from@from.com",
"to@to.com",
"Catalog Spreadsheet.",
"Here's the spreadsheet I promised you.");
// スプレッドシートで添付ファイルを作成します
MemoryStream stream = new MemoryStream();
c1Report1.RenderToStream(stream, FileFormatEnum.Excel);
stream.Position = 0;
Attachment att = new Attachment(stream, "Catalog.xls", "application/x-excel");
msg.Attachments.Add(att);
// 別の添付ファイルを作成します。そうしないと機能しません
stream = new MemoryStream(Encoding.ASCII.GetBytes("This is some plain text"));
msg.Attachments.Add(new Attachment(stream, "plain.txt"));
// メッセージを送信します
SmtpClient client = new SmtpClient("smtp.mymail.com");
client.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
client.Send(msg);
}
|
|
HTML 出力の印刷または表示だけでなく、HTML 出力を操作(編集)する場合は、新しい HtmlTableFilter を使用することをお勧めします。
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Private Sub C1Report1_InitializeParametersDialog(ByVal sender As System.Object, ByVal e As C1.Win.C1Report.DialogEventArgs) Handles C1Report1.InitializeParametersDialog
' すべての DateTime パラメータのデフォルト値を変更します
For Each p As ReportParameter In e.Parameters
If p.Type = GetType(DateTime) Then
p.Value = DateTime.Now
End If
Next
End Sub
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
private void c1Report1_InitializeParametersDialog(object sender, DialogEventArgs e)
{
// すべての DateTime パラメータのデフォルト値を変更します
foreach (ReportParameter p in e.Parameters)
{
if (p.Type == typeof(DateTime))
p.Value = DateTime.Now;
}
}
|
|
AddScriptObject メソッドのオーバーロードが追加され、スクリプトオブジェクトをすべてのサブレポートにも追加できます。