public TablePrintingViewController(IPrintViewController tableViewController)
 {
     Title             = tableViewController.Title;
     _columnWidths     = tableViewController.ColumnWidths();
     _columnVisibility = tableViewController.ColumnVisibility();
     _classType        = tableViewController.GetGenericType();
     View = SetupView();
     _printView.Source          = tableViewController.TableSource;
     _printView.SortDescriptors = tableViewController.SortDescriptors;
     _printView.ReloadData();
     View.SetFrameSize(new CGSize(_printView.Frame.Width, _printView.Frame.Height + _printView.HeaderView.Frame.Height));
 }
Ejemplo n.º 2
0
 public void PrintDocument(IPrintViewController tableViewController)
 {
     try
     {
         var printingViewController = new TablePrintingViewController(tableViewController);
         var printOperation         = NSPrintOperation.FromView(printingViewController.PrintView, PrintInfo);
         printOperation.ShowsPrintPanel        = true;
         printOperation.ShowsProgressPanel     = true;
         printOperation.CanSpawnSeparateThread = true;
         printOperation.PrintPanel.Options     = NSPrintPanelOptions.ShowsCopies | NSPrintPanelOptions.ShowsPageRange | NSPrintPanelOptions.ShowsPreview |
                                                 NSPrintPanelOptions.ShowsPageSetupAccessory | NSPrintPanelOptions.ShowsScaling;
         printOperation.RunOperation();
         printOperation.CleanUpOperation();
     }
     catch (Exception e)
     {
         UIHelpers.ShowMessage($"Sorry there was a problem printing.\nError was: {e.Message}");
     }
 }