0
私は単純な請求書レポートのデータバインディングでWPF FixedDocumentを使用しています。自分自身で見ると完璧に動作します。プログラムで固定小文字を印刷
しかし、私はワンクリックで一連の請求書を印刷したいと思います。次のコードは、XPSライターを選択したときに、実際のプリンターに印刷するときにbuが正しく印刷されなかった場合に、完璧に機能します(テストモードでは、クイックアンドダーティ、ちょうどビューモデル内でインボイスを1つずつ読み込みます)。レポートに結合されたデータは何も見ることができません。行などのグラフィック要素はすべて存在しますが、データはありません。 (同じボタンで、xpress writerプリンタに印刷すると、すべてのデータが存在し、正しい...)
いずれかのアイデアはありますか?
private void ExecutePrintCommand(object sender, ExecutedRoutedEventArgs args)
{
var invs = args.Parameter as IList<object>;
using (CompuDataContext db = new CompuDataContext())
{
DataLoadOptions dl = new DataLoadOptions();
dl.LoadWith<Invoice>(f => f.Invoicelines);
db.LoadOptions = dl;
ReportViewer viewer = new ReportViewer();
PrintDialog dlg = new PrintDialog();
if (dlg.ShowDialog() == true)
{
PrintQueue q = dlg.PrintQueue;
foreach (var o in invs)
{
InvoiceListDisplay inv = o as InvoiceListDisplay;
Invoice invoice = db.Invoices.Single(f => f.Id == inv.Id);
viewer.DataContext = new InvoicePrintViewModel(invoice);
XpsDocumentWriter xpsdw = PrintQueue.CreateXpsDocumentWriter(q);
xpsdw.Write(viewer.Document);
}
}
}
}