私のデータグリッド/データテーブルの内容を「印刷」しようとしています。DATAGRID を TABLE から FLOWDOCUMENT に変換する方法について読んだことがありますが、その方法に関する情報源が見つかりません。
datagrid/dataTable を Table に変換する方法のサンプル コードが必要です。
次に、このソリューションを適用します:WPF FlowDocumentの印刷
何か案が?
私の初心者の質問に感謝し、申し訳ありません。
私のデータグリッド/データテーブルの内容を「印刷」しようとしています。DATAGRID を TABLE から FLOWDOCUMENT に変換する方法について読んだことがありますが、その方法に関する情報源が見つかりません。
datagrid/dataTable を Table に変換する方法のサンプル コードが必要です。
次に、このソリューションを適用します:WPF FlowDocumentの印刷
何か案が?
私の初心者の質問に感謝し、申し訳ありません。
何かを印刷したときに調べた限りでは、UI 要素をページに変換するのは間違った試みであることがわかりました。印刷はUIの作成とは大きく異なり、紙にはスクロールやドラッグ可能な列はありません:)したがって、印刷用のデータは、フォームに表示されるフォームデータとは異なります。
これまでのところ、DataTable
これはデータの表現にすぎないため、印刷できる表を簡単に作成できます。この表にはすでに行と列が含まれているため、簡単に始めることができます: (コードはテストされていないことに注意してください)
System.Data.DataTable dataTable = GetDataTable();
var table = new Table();
var rowGroup = new TableRowGroup();
table.RowGroups.Add(rowGroup);
var header = new TableRow();
rowGroup.Rows.Add(header);
foreach (DataColumn column in dataTable.Columns)
{
var tableColumn = new TableColumn();
//configure width and such
table.Columns.Add(tableColumn);
var cell = new TableCell(new Paragraph(new Run("column Header")));
header.Cells.Add(cell);
}
foreach (DataRow row in dataTable.Rows)
{
var tableRow = new TableRow();
rowGroup.Rows.Add(tableRow);
foreach (DataColumn column in dataTable.Columns)
{
var value = row[column].ToString();//mayby some formatting is in order
var cell = new TableCell(new Paragraph(new Run(value)));
tableRow.Cells.Add(cell);
}
}
//and print your table
あなたが私に尋ねると、この API は少し冗長だと思いますが、適切に理解した複雑なドキュメントの場合、非常に強力です。