public static IPrintControlViewModel Create(DataTable dataTable, List <double> columnWidths, string headerTemplate) { var printControlPresenter = new DataTablePrintControlViewModel(new PrintControlView()); SetupDataTablePrintControlPresenter(dataTable, printControlPresenter, columnWidths, headerTemplate); return(printControlPresenter); }
public static IPrintControlViewModel Create(DataTable dataTable, List <double> columnWidths, string headerTemplate) { TMP.PrintEngine.Views.PrintControlView view = new Views.PrintControlView(); var printControlPresenter = new DataTablePrintControlViewModel(view); SetupDataTablePrintControlPresenter(dataTable, printControlPresenter, columnWidths, headerTemplate); return(printControlPresenter); }
private static void SetupDataTablePrintControlPresenter(DataTable dataTable, DataTablePrintControlViewModel printControlPresenter, List <double> columnWidths, string headerTemplate) { var fieldNames = new List <string>(); foreach (DataColumn column in dataTable.Columns) { fieldNames.Add(column.ColumnName); } double pageAccrossWidth = 0; foreach (var columnsWidth in columnWidths) { pageAccrossWidth += columnsWidth; } var customVisualGrid = CreateDocument(dataTable, pageAccrossWidth, columnWidths); var rowHeights = CalculateRowHeights(customVisualGrid); var drawingVisual = CreateDrawingVisual(customVisualGrid, pageAccrossWidth, customVisualGrid.ActualHeight); var printTableDefination = new PrintTableDefination { ColumnWidths = columnWidths, RowHeights = rowHeights, HasFooter = false, FooterText = null, ColumnNames = fieldNames.ToArray(), ColumnHeaderFontSize = 12, ColumnHeaderBrush = Brushes.Black, ColumnHeaderHeight = 22, HeaderTemplate = headerTemplate }; printControlPresenter.PrintTableDefination = printTableDefination; printControlPresenter.DrawingVisual = drawingVisual; return; }