web-dev-qa-db-ja.com

.NETDataGridViewの印刷

私は.NETとC#にかなり慣れていませんが、印刷したいDataGridViewがあります。そうするための最善の方法は何でしょうか?

15
Tina Orooji

DataGridViewをExcelにエクスポートしてから、Excelから印刷することができます。

DataGridViewにデータを表示せずに、PDFまたはExcelにエクスポートする機能を持つReportViewerコントロールにデータを表示することも検討できます。そこから、データを印刷することができます。

3
Bliek

次に、DataGridView、PrintDocuemnt、およびButtonを追加します。

button click events {
    printDocument1.Print();
}

printDocument1_PrintPage events {
    Bitmap bm = new Bitmap(this.dataGridView1.Width, this.dataGridView1.Height);
    this.dataGridView1.DrawToBitmap(bm, new Rectangle(0, 0, this.dataGridView1.Width, this.dataGridView1.Height));
    e.Graphics.DrawImage(bm, 0, 0);
}

これがすべてのデータ印刷です。

13
mehmet

CodeProject には、DataGridViewsの印刷作業を行ったプロジェクトがあります。

8
Bob

あなたはすでに答えを受け入れていると思いますが、次の人がこの質問を検索するために...

また、Code Projectでこの素晴らしいプロジェクトを見つけて、実装しました。簡単で素敵でした。 http://www.codeproject.com/KB/grid/GridDrawer.Net.aspx

5
David

オン CodeProject

aureolinによる別のDataGridViewプリンター

上記は、実装が非常に簡単なもう1つの優れたDataGridViewプリンターです。

私はこのスレッドにJohnny Come Latelyであることを認識しています。私は何か他のものを探しているときにそれを見つけましたが、この方法で起こる他の人のためにこの優れた印刷ソリューションを参照したいと思いました(私がしたように)。

ここの誰かがそれを利用してくれることを願っています。

4
jp2code

恐れ入りますが、組み込みの印刷サポートはありません。

印刷のサポートが組み込まれている Infragistics WinGrid などのサードパーティのコントロールを使用することもできます。

3
Gerrie Schenck

.NET WinFormコントロール(datagridviewなど)は、印刷をネイティブにサポートしていません。

ただし、datagridviewの場合は、「DrawToBitmap」を呼び出してから、そのビットマップを取得して印刷関数に渡して、紙に作成することができます。

2
GWLlosa

DataGridViewsだけでなく印刷する場合は、より一般的なアプローチを実行する価値があります。 MigraDocを使用してから、独自のクラスを作成してDataGridViewsを読み取り、テーブルを表すMigraDocクラスを出力します。

すばらしい印刷パッケージはたくさんありますが、私はMigraDocの経験しかありません。

編集:

コメントに応えて、MigraDocテーブルを生成するために作成したコードとそれを使用してDataGridViewを表示する例を示す私のサイトへのリンクを次に示します( DataGridViewからMigraDocテーブル )。

1
Robert Gowland

私はこの方法が好きです http://www.codeproject.com/KB/grid/GridDrawer.Net.aspx しかし、プリンターを選択する方法はありますか。

プロセスの最後に自動印刷したい。したがって、これをオプション1として選択することを計画しているので、いつでもデフォルトのプリンターで印刷できます。また、プリンタを選択してから印刷するなどの別のオプションもあります。したがって、合計2つのptint関数があります。返信してください。乾杯

1
tiger555