- PR -

[ASP.NET]ActiveReportでの納品書等の作成

1
投稿者投稿内容
†raimu†
ベテラン
会議室デビュー日: 2005/08/23
投稿数: 61
投稿日時: 2005-10-18 12:02
お世話になります。ライムです。

ActiveReports for .NET Proで以下のようなものを作りたいのですが、
どう作成したら良いものか思案したのですが、作成手順が浮かばなくて…
--------------------------------
タイトル(納品書)
繰り返し項目
  ・
  ・
  ・
――――――――――――――
タイトル(納品書控え)
繰り返し項目(上の内容と同じもの)
  ・
  ・
  ・
--------------------------------
以下のサイトを参考にしてMovenextをヘルプで見てみたのですが、
いまいちわからなく(TT
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1424691

良ければ知恵をお貸し頂けないでしょうか。お願いします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-10-18 12:32
こちらが参考になるかもしれません。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=25009&forum=7

# 1 年前に私もやりました...

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2005-10-18 13:56
ActiveReportsのヘルプの、キーワードで
基本操作, レポートのマージ

ここに複数のレポートをマージする方法が載ってます。
あとは、納品書と納品書控え用のrpxを別々に作るか、
同じrpxを使ってタイトルだけ動的に変えるか。どちらも可能です。
†raimu†
ベテラン
会議室デビュー日: 2005/08/23
投稿数: 61
投稿日時: 2005-10-18 16:39
ライムです。遅くなりました。
返信ありがとうございます。

じゃんぬ様>
>こちらが参考になるかもしれません。
>http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=25009&forum=7
知識不足で…一通り読んでみたものの、いまいち理解できませんでした(TT
調べながら理解して行こうと思います。
過去ログ見ていなかったのバレバレですね、すみません。

ぼのぼの様>
>ここに複数のレポートをマージする方法が載ってます。
実はそこのヘルプは調べる段階で読んでいたのですが、
レポートファイルを2つ用意しなければならないようなので
避けていました(TT

>同じrpxを使ってタイトルだけ動的に変えるか。
できればその方法でやりたいのですが…きっとヘルプに書いてある事で
実現できるのですね。調べつつ実装してみます。

…やっぱり致命的な程に知識が無い…(T□T
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2005-10-18 16:58
ヘルプのサンプルコードはこうなってますよね。

コード:

Dim rpt As New rptOne()
rpt.Run()
Dim rpt2 As New rptTwo()
rpt2.Run()
'以下略


同じrpxを使う場合は、

コード:

Dim rpt As New rptOne()
rpt.Run()
Dim rpt2 As New rptOne()
'ここにrpt2のヘッダを変えるコードを追加
rpt2.Run()
'以下略


のようにします。で、ヘッダを変えるコードですが、
ここでいうヘッダってPageHeaderセクションに置いたラベルかテキストボックスですよね、多分。
そのTextプロパティを変えればいいわけですが、この方法は以前ライムさん自身が質問した
こちらのスレッドで黒獅子さんが回答してます。
†raimu†
ベテラン
会議室デビュー日: 2005/08/23
投稿数: 61
投稿日時: 2005-10-18 19:36
ライムです。

ぼのぼの様に教えて頂いたコードで「納品」と「納品控え」に
わけられたのですが、その後が…
---------------------------------
rpt1.Document.Pages.AddRange(rpt2.Document.Pages)
viewer1.Document = rpt1.Document
---------------------------------
viewer1.DocumentをWebViewer1.Documentに変更し、
Documentと言うプロパティが無いので、それに代わるようなものを探してたのですが、
結局見つからずに(TT

なんか毎回、全部教えて頂くことになってしまって心苦しいのですが…
良ければご教授お願いします。
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2005-10-18 20:16
>viewer1.DocumentをWebViewer1.Documentに変更し、
>Documentと言うプロパティが無いので、それに代わるようなものを探してたのですが、
>結局見つからずに(TT

ここの日本語がよくわからないんですが、前はWindowsアプリを作ってたけど
今はWebアプリが作りたくてWebViewerを使いたい、ってことですか?(^^;

私がやったことあるのはPDFにエクスポートしてAcrobat Readerに表示させる方法で、
WebViewerは使ったことないんです。
ヘルプを見る限り実行前に必要な設定とかもあるみたいですねぇ。
あと<インストールフォルダ>\Samplesの下にサンプルがあるみたいなので、
その中から参考にできそうなソースを探してのぞいてみるとか。
†raimu†
ベテラン
会議室デビュー日: 2005/08/23
投稿数: 61
投稿日時: 2005-10-18 21:37
ライムです。

>ここの日本語がよくわからないんですが、前はWindowsアプリを作ってたけど
>今はWebアプリが作りたくてWebViewerを使いたい、ってことですか?(^^;
え、いや…元からWebアプリケーション作成していますよ。
サンプルで使われていたコードがVBのものでしたので、
ASPでも使えるプロパティを探していたのです。
紛らわしくてすみませんでした。

で、解決できましたので報告です。
------------------------------------------------------
Dim rpt As New ReportName
Dim rpt2 As New ReportName
Dim i As Integer
Dim CntPage As Int16

'2つ目のレポートは用紙の下側に配置する為、上部のマージンを高く設定
rpt2.PageSettings.Margins.Top = rpt.CmToInch(10)

rpt.Run(False)

'rpt2のヘッダを変える為のフラグ
rpt2.TEST = 1
rpt2.Run(False)

'1つ目のレポートにそのほかのレポートを重ね合わせる
CntPage = rpt.Document.Pages.Count
For i = 0 To (CntPage) - 1
  rpt.Document.Pages(i).Overlay(rpt2.Document.Pages(i))
Next i

WebViewer1.ClearCachedReport()
WebViewer1.Report = rpt
------------------------------------------------------

親身になって頂きありがとうございました(TT

[ メッセージ編集済み 編集者: †raimu† 編集日時 2005-10-18 21:38 ]
1

スキルアップ/キャリアアップ(JOB@IT)