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 メソッドのオーバーロードが追加され、スクリプトオブジェクトをすべてのサブレポートにも追加できます。