- - PR -
ActiveReportsでWebViewerを使用した場合の現象について
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-01-20 22:42
こんばんは。
ASP.NET1.1 + ActiveReports for .NET(Professional Edition)で 指定したTIF形式の画像を動的に表示するレポートを作成しています。 DetailセクションにPictureコントロールを貼り付け、WebViewerを使用して 表示させるようにしているのですが、複数のクライアント端末で同時に レポート画面にアクセスし、同時にレポートを生成すると、Viewerに表示される 画像が、別端末で指定したものまで共有され、一緒に表示されてしまいます。 (※実行環境:WindowsXP、IE7.0、AdobeReader8または7) ただし、この現象が起こるのが、AcrobatReaderの形式でViewerに表示した 場合のみで、ActiveXの場合は現象が起こりません。 また、Viewerを使用せず、PDFにエクスポートした場合も現象はおきません でした。 このような現象が起きたことがある方、上記の現象に対して対策をされた方 はいらっしゃいますか? (検索をしてみましたが、同様の現象が起きている等の情報は得られませんでした) また、回避方法や、上位バージョンでは同様の現象が起きるのか等、 上記に関連する情報があれば、教えていただけないでしょうか。 今のところ、PDF形式で表示したいので、Viewerで表示することは 諦めようとしていますが、現象が起こる原因をつきとめられればと 考えています。 よろしくお願いいたします。 | ||||||||
|
投稿日時: 2008-01-21 09:45
このあたりのソース コードの提示をお願いします。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2008-01-21 13:43
じゃんぬねっとさんこんにちは。
ソースコードですが、以下のようにしています。 よろしくお願いいたします。 <WebViewerを貼り付けているForm> Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim lStrFilePass As String Dim lDtRow As DataRow Dim lARpt As New rpt 'データテーブル作成 Dim DT As DataTable = New DataTable("ImageList") Dim lDtColumn As DataColumn = New DataColumn lDtColumn.DataType = System.Type.GetType("System.String") lDtColumn.ColumnName = "FilePass" lDtColumn.DefaultValue = "Str" DT.Columns.Add(lDtColumn) '指定したファイルパスを格納したSortedListをデータテーブルへセット For Each lDicEntry As DictionaryEntry In pSortList If CStr(lDicEntry.Value).Trim <> "" Then lDtRow = DT.NewRow() 'ファイルパスをDetailセクションの隠しテキストボックスにセットする lDtRow.Item("FilePass") = CStr(lDicEntry.Value).Trim DT.Rows.Add(lDtRow) End If Next lDicEntry lARpt.DataSource = DT lARpt.DataMember = "ImageList" lARpt.Run() WebViewer.Report = lARpt End Sub <レポート(rpx)> Private Sub Detail_Format(ByVal sender As Object, ByVal e As System.EventArgs) Handles Detail.Format '隠しテキストボックスに設定したファイルパスからPictureコントロールへ動的に画像を表示 Me.Pic_Img.Image = System.Drawing.Image.FromFile(Txt_FilePass.Text.Trim) End Sub | ||||||||
|
投稿日時: 2008-01-21 14:56
FromFile メソッドではなく FromStream メソッドでやるとどうでしょうか?
今さら根本的なことをお聞きするようですが、画像までのパスは双方とも同じなのでしょうか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2008-01-21 15:32
じゃんぬねっとさん、返信ありがとうございます。
当初はFromFileメソッドで画像ファイルがロックされるのが原因かと思い、 FromStreamメソッドを使用してみましたが、結果は同じでした。
画像ファイルは仮想フォルダの直下にImageフォルダを作成し、Imageフォルダ内に 実ファイルを複数置いていますが、双方共に同じパスで同じファイルを指定した 場合も、それぞれが違うファイルを指定した場合も現象は起きています。 よろしくお願いいたします。 |
1