コード例 #1
0
        public static IPrintControlViewModel Create(DataTable dataTable, List <double> columnWidths, string headerTemplate)
        {
            var printControlPresenter = new DataTablePrintControlViewModel(new PrintControlView());

            SetupDataTablePrintControlPresenter(dataTable, printControlPresenter, columnWidths, headerTemplate);
            return(printControlPresenter);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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;
        }