none
ユーザーコントロールでグリッド表示の印刷が白紙になってしまいます RRS feed

  • 質問

  • 毎々、お世話になります。

    現在、WindowsServer2008+IIS7.5(サーバ)+Windows7(クライアント)の構成で、

    VisualStudio2010 ASP.NET の Webサービスでユーザーコントロールを使用してグリッドでデータの一覧表示を行っています。(ブラウザはIE8専用)

    この画面には、印刷用のボタンを用意しており、ボタンオンで、javascript の window.print にて、IEの印刷ダイアログを呼び出して印刷を行っています。(ボタンはユーザーコントロールではありません)

    ところが、これで画面の印刷を行っていると、ユーザーコントロールのグリッドの一覧表示部が、白紙になる事が頻繁にあります。(ボタンは必ず印刷されています)

    色々試してはいるのですが、何が原因か分からず困っています。

    よろしくお願いいたします。

     


    吉野恵一
    2011年7月28日 12:55

回答

  • ASP.NETは特に関係なく、ブラウザなどクライアントの環境の問題であるように思います。とりあえず、以下を確認してみて下さい。

    診断ツール Fix it: Internet Explorer で Web ページの印刷または印刷プレビューの表示を実行できない問題
    http://support.microsoft.com/kb/973479/ja

     


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
    • 回答としてマーク 吉野 恵一 2011年7月28日 14:18
    • 回答としてマークされていない 吉野 恵一 2011年7月28日 14:19
    • 回答としてマーク 吉野 恵一 2011年8月16日 7:00
    2011年7月28日 14:14
    モデレータ
  • 以下の情報もありました。ASP.NETが生成するCSSなどをうまく解釈できないのかもしれません。ちなみにIE8以外では問題が発生しないのでしょうか?

    IE8でWEBページを印刷すると1ページ目しか印刷できない
    http://d.hatena.ne.jp/Agrius_Akita/20100211/1265850679

    IE8の印刷で不具合
    http://www.monster.ne.jp/~hal/blogb/log/eid115.html

     


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
    2011年7月28日 14:24
    モデレータ

すべての返信

  • > ユーザーコントロールのグリッドの一覧表示部が、白紙になる事が
    > 頻繁にあります。(ボタンは必ず印刷されています)

    それだけの情報で答えられる人はたぶんいないと思うのですが。

    「ユーザーコントロールのグリッド」というのは具体的に何なのでし
    ょうか? スタイルはどのように適用しているのでしょう? プリン
    ターの問題はないのですか?

    回答者は、掲示板に書いてあること以外、質問者の具体的な状況は何
    も知らないということを常に意識して、回答者が問題を理解し、原因
    を特定するのに必要な情報を提供するよう配慮いただければ、的確な
    回答が得やすいと思います。

     

    2011年7月28日 13:53
  • ASP.NETは特に関係なく、ブラウザなどクライアントの環境の問題であるように思います。とりあえず、以下を確認してみて下さい。

    診断ツール Fix it: Internet Explorer で Web ページの印刷または印刷プレビューの表示を実行できない問題
    http://support.microsoft.com/kb/973479/ja

     


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
    • 回答としてマーク 吉野 恵一 2011年7月28日 14:18
    • 回答としてマークされていない 吉野 恵一 2011年7月28日 14:19
    • 回答としてマーク 吉野 恵一 2011年8月16日 7:00
    2011年7月28日 14:14
    モデレータ
  • 説明不足ですいません。

    ASP.NET初心者で、うまく説明できないのがつらい所ですが、内容は以下の通りです。

    ASP.NETでの画面作成で、Webサービスというのを使用しています。

    これは、通常のaspxのWeb画面上にユーザーコントロール用のエリアを設け、そのエリアにユーザーコントロール画面を

    表示させるものです。

    ユーザーコントロールは、VB.NET等で作成するWindowsアプリと同様のもので、これをDLL化してサーバーからクライアント

    にダウンロードしてユーザーコントロール用のエリアで動作させるものです。(クライアントサイド動作)

    今、このユーザーコンロールで、DataGridViewを使用して一覧表を表示しています。

    この画面に先の説明の様に印刷ボタンがあり、IEの印刷ダイアログ画面を呼び出して画面印刷を行っています。

    この印刷の時に DataGridView の部分が時々、白紙になってしまうというものです。

    うまく説明できませんが、よろしくお願い致します。

     

     

     

     


    吉野恵一
    2011年7月28日 14:14
  • 回答ありがとうございます。

    内容にそって早速調べてみようと思います。

    ありがとうございました。

     


    吉野恵一
    2011年7月28日 14:21
  • 以下の情報もありました。ASP.NETが生成するCSSなどをうまく解釈できないのかもしれません。ちなみにIE8以外では問題が発生しないのでしょうか?

    IE8でWEBページを印刷すると1ページ目しか印刷できない
    http://d.hatena.ne.jp/Agrius_Akita/20100211/1265850679

    IE8の印刷で不具合
    http://www.monster.ne.jp/~hal/blogb/log/eid115.html

     


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
    2011年7月28日 14:24
    モデレータ
  • 回答ありがとうございます。

    今回の対象ブラウザが IE8専用という事でしたので、他のバージョンでは調査していませんでしたが、

    教えて頂いた内容ですと、調査する必要がある様です。

    調べて見ようと思います。

    ありがとうございました。

     


    吉野恵一
    2011年7月28日 14:35
  • DataGridViewを使っている、ということはそこはHTMLじゃないですよね。
    だとすると、ブラウザによるWebページの印刷に関する不具合の情報を調べるのは検討違いのよーな。

    ブラウザ上にVBで作成したオブジェクトを表示させるのはともかく、それを正しく印刷って、、、できるのかなぁ。
    なにか別の手段を検討したほうがいいような気がしますが。。。

     


    あおい情報システム株式会社 小野修司(どっとねっとふぁん)
    2011年7月29日 3:46
  • > ユーザーコントロールは、VB.NET等で作成するWindowsアプリと同様のもので、これをDLL化してサーバーからクライアント
    > にダウンロードしてユーザーコントロール用のエリアで動作させるものです。(クライアントサイド動作)

    この時点でIEとかASP.NETとか関係ないように思いますが、
    そのユーザコントロールに「印刷」ボタンつけて.NETの範疇で印刷させる
    のがよろしいのではないでしょうか。

    # グリッドを直接描画しないといけない気がしますが、すいません、やり方はわかりません。

    2011年7月29日 4:40
  • SCRIPTを使って画面が崩れたではないでしょうか

    クライアントスクリプトを使ったらどうでしょうか

    Page.ClientScript.RegisterStartupScript(Page.GetType, "messeag", "window.open();", True)

    2011年7月29日 5:46
  • > ASP.NET初心者で、うまく説明できないのがつらい所
    > ですが、内容は以下の通りです。

    すみませんが、書いてあることが理解できません。用語は正し
    く使われているのでしょうか?

    特に、ASP.NET Web アプリのページで DataGridView を使用し
    た .NET ベースの Windows form アプリ用のユーザーコントロ
    ールを使うというあたりが理解できません。

    でも、印刷ができないだけで表示はされているのですよね。とす
    ると、用語の使い方、説明の仕方の問題のように思えます。見直
    すことはできませんか?

    それとも、自分が知らないだけで、ASP.NET Web アプリのページ
    で DataGridView を使う方法があるということでしょうか?
    (であれば、是非どうやってやるのか教えていただきたいです)

     

    2011年7月29日 12:03