2009-03-02 7 views
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); 
       } 
      } 
     } 
    } 

答えて

1

mmkayので、私はここで自分自身に答えて:)

This helped me(誰が背後に何の理由のアイデアがあるバグ?)

PSが見つかりました:flowdocumentでは、私が経験同じ問題であり、そこでそれを解決することはできませんでした。何か案は?