- - PR -
【ActiveReports】ビューワを未表示にする方法
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-11-17 15:22
[ メッセージ編集済み 編集者: 未記入 編集日時 2007-01-19 21:38 ] | ||||||||||||
|
投稿日時: 2006-11-17 15:51
じゃんぬねっと様、ぜうす様
アドバイスありがとうございました。
コードを検索してもCloseコマンドが発見できませんでしたし、印刷が終わっても残り続けています。 特に何かコードを消したという記憶はないのですが・・・。 (それとも、Closeコマンドを入れるのは基本中の基本であって、私が間抜けだっただけ?) とりあえず、問題はCloseコマンドを追加することで解決しました。 本当にありがとうございましたm(_ _)m | ||||||||||||
|
投稿日時: 2006-11-17 16:11
なぜ、いきなりここで "Close" が出てくるのでしょうか? ぜうすさんの投稿は誤りであることは、ぜうすさん自信のご投稿で理解できるかと思います。
なぜ、いきなりここで "消した" とかそういった話になるのでしょうか? そこに至った経緯が書かれていないと、理解ができないです。
その解決方法は、正しい解決にはなっていないと思います。 直接印刷した (PrinterToPrint メソッド) 時は、プレビューなど表示されないわけで、 どこかで、プレビューを表示するようなコードを実装しているだけだと私は言いたかったのです。 (たとえば、プレビューと直接印刷の分岐がうまくいっていないとか) そのコードを正すのが、本来の解決方法でしょう。 それと、私が明確にアドバイスが出せないのは、コードが提示されないからです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-11-17 18:26
「Winアプリなら自らコードにそうなるように書いている」とおっしゃったので、自動生成されるはずだとおっしゃっているのかと思いました。 ですので、そのようなコードを消した覚えはないと言うことを書いております。
下記にコードを掲示致します。 根本原因と思われるところ、足りないと思ったところをご指摘願います。 なにぶんC#は勉強し始めたばかりなので、お見苦しいかとは思いますが、ご容赦ください。 ○フォームのコード namespace WindowsApplication2 { public partial class Form1 : Form { private DataDynamics.ActiveReports.Viewer.Viewer reportViewer1; public Form1() { InitializeComponent(); } private void InitializeComponent() { this.reportViewer1 = new DataDynamics.ActiveReports.Viewer.Viewer(); // // reportViewer1 // this.reportViewer1.BackColor = System.Drawing.SystemColors.Control; this.reportViewer1.Dock = System.Windows.Forms.DockStyle.Fill; this.reportViewer1.Location = new System.Drawing.Point(0, 0); this.reportViewer1.Name = "reportViewer1"; this.reportViewer1.ReportViewer.CurrentPage = 0; this.reportViewer1.ReportViewer.MultiplePageCols = 3; this.reportViewer1.ReportViewer.MultiplePageRows = 2; this.reportViewer1.ReportViewer.ViewType = DataDynamics.ActiveReports.Viewer.ViewType.Normal; this.reportViewer1.Size = new System.Drawing.Size(115, 0); this.reportViewer1.TabIndex = 0; this.reportViewer1.TableOfContents.Text = "Table Of Contents"; this.reportViewer1.TableOfContents.Width = 200; this.reportViewer1.Toolbar.Font = new System.Drawing.Font("MS UI Gothic", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128))); this.reportViewer1.Load += new System.EventHandler(this.reportViewer1_Load); // // Form1 // this.ClientSize = new System.Drawing.Size(391, 245); this.Controls.Add(this.reportViewer1); this.Name = "Form1"; this.Load += new System.EventHandler(this.reportViewer1_Load); this.ResumeLayout(false); } private void reportViewer1_Load(object sender, EventArgs e) { prtBound rpt = new prtBound(); this.reportViewer1.Document = rpt.Document; rpt.Run(); rpt.Document.Print(false, false, false); } } } ○ActiveReportsファイルを読み込んだときに作られたコード namespace WindowsApplication2 { public class prtBound : ActiveReport { public prtBound() { InitializeReport(); } #region ActiveReports Designer generated code public DataDynamics.ActiveReports.DataSources.OleDBDataSource ds; private DataDynamics.ActiveReports.PageHeader PageHeader; private DataDynamics.ActiveReports.Detail Detail; private DataDynamics.ActiveReports.TextBox txtProductName; private DataDynamics.ActiveReports.TextBox txtQuantityPerUnit; private DataDynamics.ActiveReports.TextBox txtUnitsInStock; private DataDynamics.ActiveReports.PageFooter PageFooter; public void InitializeReport() { this.LoadLayout(this.GetType(), "WindowsApplication2.prtBound.rpx"); this.ds = ((DataDynamics.ActiveReports.DataSources.OleDBDataSource)(this.DataSource)); this.PageHeader = ((DataDynamics.ActiveReports.PageHeader)(this.Sections["PageHeader"])); this.Detail = ((DataDynamics.ActiveReports.Detail)(this.Sections["Detail"])); this.PageFooter = ((DataDynamics.ActiveReports.PageFooter)(this.Sections["PageFooter"])); this.txtProductName = ((DataDynamics.ActiveReports.TextBox)(this.Detail.Controls[0])); this.txtQuantityPerUnit = ((DataDynamics.ActiveReports.TextBox)(this.Detail.Controls[1])); this.txtUnitsInStock = ((DataDynamics.ActiveReports.TextBox)(this.Detail.Controls[2])); } #endregion } } ○プロジェクト作成時に作られたコード namespace WindowsApplication2 { static class Program { /// <summary> /// アプリケーションのメイン エントリ ポイントです。 /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } } | ||||||||||||
|
投稿日時: 2006-11-17 19:01
なるほど、了解しました。 しかし、私が書いた "自ら" というのは実装者を示します。 コード ジェネレータを "自ら ~ 書いている" とは言わないです。
直接印刷したいのであれば、Viewer は必要ないですよね? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-11-17 19:30
じゃんぬねっと様
確かに、おっしゃる通りです。 こちらの勘違いや不手際などでご迷惑をおかけしたにもかかわらず、アドバイスありがとうございました。m(_ _)m | ||||||||||||
|
投稿日時: 2006-11-17 20:02
解決できたみたいですね。
いえ、こちらもうまく伝えることができずにすみませんでした。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |