Ejemplo n.º 1
0
        internal static DataGridPrinterLayer GetDataGridPrinterLayer(double width, double height, double centerX, double centerY)
        {
            DataTable dataTable = new DataTable();

            dataTable.Columns.Add("Header1");
            dataTable.Columns.Add("Header2");
            dataTable.Columns.Add("Header3");
            string text = "content";

            for (int i = 0; i < 3; i++)
            {
                var row = dataTable.NewRow();
                row[0] = text;
                row[1] = text;
                row[2] = text;
                dataTable.Rows.Add(row);
            }
            DataGridPrinterLayer dataGridPrinterLayer = new DataGridPrinterLayer {
                DrawingExceptionMode = DrawingExceptionMode.DrawException
            };

            dataGridPrinterLayer.LoadFromViewModel(new DataGridViewModel {
                CurrentDataTable = dataTable, FontSize = 22
            });
            dataGridPrinterLayer.Open();
            dataGridPrinterLayer.SetPosition(width, height, centerX, centerY, PrintingUnit.Inch);
            return(dataGridPrinterLayer);
        }
Ejemplo n.º 2
0
        private void toolBoxItem_Click(object sender, RoutedEventArgs e)
        {
            PrinterInteractiveOverlay printerInteractiveOverlay = (PrinterInteractiveOverlay)Map1.InteractiveOverlays["PrintPreviewOverlay"];
            PrinterLayer printerLayer = null;

            if (sender == btnAddLabel)
            {
                printerLayer = new LabelPrinterLayer();
                printerLayer.SetPosition(2, 1, 0, 0, PrintingUnit.Inch);
            }
            else if (sender == btnAddImage)
            {
                printerLayer = new ImagePrinterLayer();
            }
            else if (sender == btnAddScaleLine)
            {
                MessageBox.Show("NotImplemented");
            }
            else if (sender == btnAddScaleBar)
            {
                MessageBox.Show("NotImplemented");
            }
            else if (sender == btnAddDataGrid)
            {
                printerLayer = new DataGridPrinterLayer();
                printerLayer.SetPosition(1, 1, 0, 0, PrintingUnit.Inch);
            }

            //if (ShowPrinterLayerProperties(printerLayer) == DialogResult.OK)
            if (ShowPrinterLayerProperties(printerLayer) == true)
            {
                printerInteractiveOverlay.PrinterLayers.Add(printerLayer);
                Map1.Refresh();
            }
        }
Ejemplo n.º 3
0
        private void AddDataGridLayer()
        {
            // Create the DataGridPrinterLayer
            DataGridPrinterLayer dataGridPrinterLayer = new DataGridPrinterLayer();

            dataGridPrinterLayer.TextFont = new GeoFont("Arial", 8);
            //dataGridPrinterLayer.CellTextJustification = LabelTextJustification.Left;
            dataGridPrinterLayer.TextHorizontalAlignment = PrinterTextHorizontalAlignment.Left;

            // Set the data grid position 4 inches below the page center and 8 inches wide and 2.5 inches tall
            RectangleShape pageBoundingbox = GetPageBoundingBox(PrintingUnit.Inch);

            dataGridPrinterLayer.SetPosition(8, 2.5, pageBoundingbox.GetCenterPoint().X, pageBoundingbox.GetCenterPoint().Y - 4, PrintingUnit.Inch);

            //Create the data table and columns
            dataGridPrinterLayer.DataTable = new DataTable();
            dataGridPrinterLayer.DataTable.Columns.Add("Country");
            dataGridPrinterLayer.DataTable.Columns.Add("Population");
            dataGridPrinterLayer.DataTable.Columns.Add("CurrencyCode");
            dataGridPrinterLayer.DataTable.Columns.Add("Area");

            // Find all of the countries with a population greater than 70 million
            // and add those items to the data table
            ShapeFileFeatureLayer shapefileFeatureLayer = new ShapeFileFeatureLayer(@"data/Countries02_3857.shp", FileAccess.Read);

            shapefileFeatureLayer.Open();
            Collection <Feature> features = shapefileFeatureLayer.QueryTools.GetAllFeatures(ReturningColumnsType.AllColumns);

            shapefileFeatureLayer.Close();

            foreach (Feature feature in features)
            {
                double pop = Convert.ToDouble(feature.ColumnValues["Pop_cntry"].ToString());
                if (pop > 70000000)
                {
                    dataGridPrinterLayer.DataTable.Rows.Add(new object[4] {
                        feature.ColumnValues["Cntry_Name"], feature.ColumnValues["Pop_cntry"], feature.ColumnValues["curr_code"], feature.ColumnValues["sqkm"]
                    });
                }
            }

            // Add the DataGridPrinterLayer to the PrinterInteractiveOverlay
            PrinterInteractiveOverlay printerInteractiveOverlay = (PrinterInteractiveOverlay)Map1.InteractiveOverlays["PrintPreviewOverlay"];

            printerInteractiveOverlay.PrinterLayers.Add("DataGridLayer", dataGridPrinterLayer);
        }
        internal void SetProperties(PrinterLayer printerLayer)
        {
            DataGridPrinterLayer dataGridPrinterLayer = printerLayer as DataGridPrinterLayer;

            if (dataGridPrinterLayer != null)
            {
                entity.CurrentDataTable = dataGridPrinterLayer.DataTable;
                dgv.DataSource          = entity.CurrentDataTable;
                entity.FontName         = new FontFamily(dataGridPrinterLayer.TextFont.FontName);
                entity.FontSize         = dataGridPrinterLayer.TextFont.Size;
                entity.FontColor        = dataGridPrinterLayer.TextBrush;
                entity.IsBold           = (dataGridPrinterLayer.TextFont.Style & DrawingFontStyles.Bold) == DrawingFontStyles.Bold;
                entity.IsItalic         = (dataGridPrinterLayer.TextFont.Style & DrawingFontStyles.Italic) == DrawingFontStyles.Italic;
                entity.IsStrikeout      = (dataGridPrinterLayer.TextFont.Style & DrawingFontStyles.Strikeout) == DrawingFontStyles.Strikeout;
                entity.IsUnderline      = (dataGridPrinterLayer.TextFont.Style & DrawingFontStyles.Underline) == DrawingFontStyles.Underline;
                entity.ResizeMode       = dataGridPrinterLayer.ResizeMode;
                entity.DragMode         = dataGridPrinterLayer.DragMode;
            }
        }
Ejemplo n.º 5
0
        public static void LoadFromViewModel(this DataGridPrinterLayer dataGridPrinterLayer, DataGridViewModel dataGridEntity)
        {
            DrawingFontStyles drawingFontStyles = DrawingFontStyles.Regular;

            if (dataGridEntity.IsBold)
            {
                drawingFontStyles = drawingFontStyles | DrawingFontStyles.Bold;
            }
            if (dataGridEntity.IsItalic)
            {
                drawingFontStyles = drawingFontStyles | DrawingFontStyles.Italic;
            }
            if (dataGridEntity.IsStrikeout)
            {
                drawingFontStyles = drawingFontStyles | DrawingFontStyles.Strikeout;
            }
            if (dataGridEntity.IsUnderline)
            {
                drawingFontStyles = drawingFontStyles | DrawingFontStyles.Underline;
            }

            GeoFont geoFont = new GeoFont(dataGridEntity.FontName.Source, dataGridEntity.FontSize, drawingFontStyles);

            dataGridPrinterLayer.TextFont = geoFont;

            int originalCount = dataGridEntity.CurrentDataTable.Rows.Count;

            dataGridPrinterLayer.DataTable = dataGridEntity.CurrentDataTable.DefaultView.ToTable();
            int currentCount = dataGridPrinterLayer.DataTable.Rows.Count;

            //Todo:remove the last row which is all empty value;
            if (originalCount != currentCount)
            {
                dataGridPrinterLayer.DataTable.Rows.RemoveAt(currentCount - 1);
            }

            dataGridPrinterLayer.BackgroundMask = new AreaStyle(new GeoPen(GeoColor.StandardColors.Black, 1));
            dataGridPrinterLayer.TextBrush      = dataGridEntity.FontColor;
            dataGridPrinterLayer.DragMode       = dataGridEntity.DragMode;
            dataGridPrinterLayer.ResizeMode     = dataGridEntity.ResizeMode;
        }
Ejemplo n.º 6
0
        private void AddDataGridLayer2()
        {
            // Create the DataGridPrinterLayer for parcels in discussion and place it the right.
            DataGridPrinterLayer dataGridPrinterLayer = new DataGridPrinterLayer();

            dataGridPrinterLayer.TextFont = new GeoFont("Arial", 8);
            dataGridPrinterLayer.TextHorizontalAlignment = PrinterTextHorizontalAlignment.Left;

            // Set the data grid position 4.2 inches below the page center to the right and 3.5 inches wide and 2 inches tall
            RectangleShape pageBoundingbox = GetPageBoundingBox(PrintingUnit.Inch);

            dataGridPrinterLayer.SetPosition(3.5, 2, 2.25, pageBoundingbox.GetCenterPoint().Y - 4.2, PrintingUnit.Inch);

            //Create the data table and columns
            dataGridPrinterLayer.DataTable = new DataTable();
            dataGridPrinterLayer.DataTable.Columns.Add("TAXPIN");
            dataGridPrinterLayer.DataTable.Columns.Add("LAST_REVIS");
            dataGridPrinterLayer.DataTable.Columns.Add("ACRES");
            dataGridPrinterLayer.DataTable.Columns.Add("CALCULATED");

            // Find all of the parcels that are in discussion and add those items to the data table
            ShapeFileFeatureLayer shapefileFeatureLayer = new ShapeFileFeatureLayer(@"..\..\..\Data\Shapefile\Parcels.shp", FileAccess.Read);

            shapefileFeatureLayer.Open();
            Collection <Feature> features = shapefileFeatureLayer.QueryTools.GetFeaturesByColumnValue("AFFECTED", "D", ReturningColumnsType.AllColumns);

            shapefileFeatureLayer.Close();

            foreach (Feature feature in features)
            {
                dataGridPrinterLayer.DataTable.Rows.Add(new object[4] {
                    feature.ColumnValues["TAXPIN"], feature.ColumnValues["LAST_REVIS"], feature.ColumnValues["ACRES"], feature.ColumnValues["CALCULATED"]
                });
            }

            // Add the DataGridPrinterLayer to the PrinterInteractiveOverlay
            PrinterInteractiveOverlay printerInteractiveOverlay = (PrinterInteractiveOverlay)mapView.InteractiveOverlays["PrintPreviewOverlay"];

            printerInteractiveOverlay.PrinterLayers.Add("DataGridLayer2", dataGridPrinterLayer);
        }
Ejemplo n.º 7
0
        public DataGridPrinterLayerProperty(DataGridPrinterLayer dataGridPrinterLayer)
        {
            InitializeComponent();

            this.dataGridPrinterLayer = dataGridPrinterLayer;
        }