private void FormChartWizard_Load(object sender, EventArgs e) { #region Tab Chart Type foreach (gvChart.gvChartType chartType in gvChart.ChartTypes) { lstChartTypes.Items.Add(chartType); } lstChartTypes.SelectedItem = 0; Series ser1 = new Series("Serie 1"); ser1.Points.AddXY("A", 10); ser1.Points.AddXY("B", 6); ser1.Points.AddXY("C", 8); ser1.Points.AddXY("D", 12); ser1.Points.AddXY("E", 3); ser1.Color = Color.Red; ser1.ChartArea = "Area1"; Series ser2 = new Series("Serie 2"); ser2.Points.AddXY("A", 5); ser2.Points.AddXY("B", 3); ser2.Points.AddXY("C", 7); ser2.Points.AddXY("D", 8); ser2.Points.AddXY("E", 6); ser2.Color = Color.Blue; ser2.ChartArea = "Area1"; _gvChart.Series.Add(ser1); _gvChart.Series.Add(ser2); _gvChart.Refresh(); #endregion #region Tab Data ITableClass tc = (ITableClass)_layer.Class; foreach (IField field in _layer.Fields) { if (field.type == FieldType.biginteger || field.type == FieldType.Double || field.type == FieldType.Float || field.type == FieldType.integer || field.type == FieldType.smallinteger) { lstSeries.Items.Add(new FieldItem() { Field = field }); } if (field.type != FieldType.binary && field.type != FieldType.GEOGRAPHY && field.type != FieldType.GEOMETRY && field.type != FieldType.Shape) { cmbDataFields.Items.Add(new FieldItem() { Field = field }); } } if (cmbDataFields.Items.Count > 0) { cmbDataFields.SelectedIndex = 0; } #region Filter //All Features //Selected Features //Features in actual extent cmbFeatures.Items.Add(new ExportMethodItem("All Features", new QueryFilter())); if (_layer is IFeatureSelection && ((IFeatureSelection)_layer).SelectionSet != null && ((IFeatureSelection)_layer).SelectionSet.Count > 0) { ISelectionSet selectionSet = ((IFeatureSelection)_layer).SelectionSet; IQueryFilter selFilter = null; if (selectionSet is IIDSelectionSet) { selFilter = new RowIDFilter(tc.IDFieldName, ((IIDSelectionSet)selectionSet).IDs); } else if (selectionSet is IGlobalIDSelectionSet) { selFilter = new GlobalRowIDFilter(tc.IDFieldName, ((IGlobalIDSelectionSet)selectionSet).IDs); } else if (selectionSet is IQueryFilteredSelectionSet) { selFilter = ((IQueryFilteredSelectionSet)selectionSet).QueryFilter.Clone() as IQueryFilter; } if (selFilter != null) { selFilter.SubFields = "*"; ExportMethodItem item = new ExportMethodItem("Selected Features", selFilter); cmbFeatures.Items.Add(item); cmbFeatures.SelectedItem = item; } } if (_display != null && _display.Envelope != null) { SpatialFilter dispFilter = new SpatialFilter(); dispFilter.SubFields = "*"; dispFilter.FilterSpatialReference = _display.SpatialReference; dispFilter.Geometry = _display.Envelope; dispFilter.SpatialRelation = spatialRelation.SpatialRelationIntersects; cmbFeatures.Items.Add(new ExportMethodItem("Features in actual extent", dispFilter)); } if (cmbFeatures.SelectedIndex == -1) { cmbFeatures.SelectedIndex = 0; } #endregion #endregion }
public ExportFeatureClassDialog(IDisplay display, IFeatureLayer sourceFeatureLayer) { InitializeComponent(); _sourceFeatureClass = sourceFeatureLayer.Class as IFeatureClass; #region Filter //All Features //Selected Features //Features in actual extent cmbExport.Items.Add(new ExportMethodItem("All Features", null)); if (sourceFeatureLayer is IFeatureSelection && ((IFeatureSelection)sourceFeatureLayer).SelectionSet != null && ((IFeatureSelection)sourceFeatureLayer).SelectionSet.Count > 0) { ISelectionSet selectionSet = ((IFeatureSelection)sourceFeatureLayer).SelectionSet; IQueryFilter selFilter = null; if (selectionSet is IIDSelectionSet) { selFilter = new RowIDFilter(_sourceFeatureClass.IDFieldName, ((IIDSelectionSet)selectionSet).IDs); } else if (selectionSet is IGlobalIDSelectionSet) { selFilter = new GlobalRowIDFilter(_sourceFeatureClass.IDFieldName, ((IGlobalIDSelectionSet)selectionSet).IDs); } else if (selectionSet is IQueryFilteredSelectionSet) { selFilter = ((IQueryFilteredSelectionSet)selectionSet).QueryFilter.Clone() as IQueryFilter; } if (selFilter != null) { selFilter.SubFields = "*"; ExportMethodItem item = new ExportMethodItem("Selected Features", selFilter); cmbExport.Items.Add(item); cmbExport.SelectedItem = item; } } if (display != null && display.Envelope != null) { SpatialFilter dispFilter = new SpatialFilter(); dispFilter.SubFields = "*"; dispFilter.FilterSpatialReference = display.SpatialReference; dispFilter.Geometry = display.Envelope; dispFilter.SpatialRelation = spatialRelation.SpatialRelationIntersects; cmbExport.Items.Add(new ExportMethodItem("Features in actual extent", dispFilter)); } if (cmbExport.SelectedIndex == -1) { cmbExport.SelectedIndex = 0; } #endregion _listViewItem = new FeatureClassListViewItem(_sourceFeatureClass, 255); gvFields.DataSource = _listViewItem.Fields; panelStep1.Dock = panelStep2.Dock = DockStyle.Fill; SetPanelVisibity(); }
private void btnOK_Click(object sender, EventArgs e) { ExportMethodItem filterItem = (ExportMethodItem)cmbFeatures.SelectedItem; IQueryFilter filter = filterItem.QueryFilter; filter.SubFields = String.Empty; DataTable tab = new DataTable(); IField dataField = ((FieldItem)cmbDataFields.SelectedItem).Field; filter.AddField(dataField.name); tab.Columns.Add(new DataFieldColumn(dataField.name)); Fields seriesFields = new Fields(); foreach (SymbolsListView.SymbolListViewItem item in seriesListView.Items) { seriesFields.Add(((ITableClass)_layer.Class).Fields.FindField(item.Text)); filter.AddField(item.Text); IBrushColor brushColor = item.Symbol as IBrushColor; Color col = brushColor != null ? brushColor.FillColor : Color.Red; tab.Columns.Add(new SeriesDataColumn(item.Text) { Color = col, SeriesName = item.SubItems[1].Text }); } using (ICursor cursor = ((ITableClass)_layer.Class).Search(filterItem.QueryFilter)) { IRow row = null; while ((row = NextRow(cursor)) != null) { object dataValue = row[dataField.name]; if (dataValue == System.DBNull.Value) { continue; } DataRow dataRow = GetDataRow(tab, dataValue); for (int i = 1, to = tab.Columns.Count; i < to; i++) { double val = Convert.ToDouble((row[tab.Columns[i].ColumnName] == System.DBNull.Value ? 0D : row[tab.Columns[i].ColumnName])); dataRow[tab.Columns[i].ColumnName] = Convert.ToDouble(dataRow[tab.Columns[i].ColumnName]) + val; } } } DataFieldColumn dataCol = this.DataFieldCol(tab); List <SeriesDataColumn> serCols = this.SeriesColumns(tab); if (tab != null && tab.Rows.Count > 0 && dataCol != null && serCols != null) { Series[] ser = new Series[serCols.Count]; for (int i = 0; i < ser.Length; i++) { ser[i] = new Series(serCols[i].SeriesName); ser[i].Color = serCols[i].Color; } foreach (DataRow row in tab.Rows) { for (int i = 0; i < ser.Length; i++) { ser[i].Points.AddXY(row[dataCol.ColumnName], row[serCols[i].ColumnName]); } } for (int i = 0; i < ser.Length; i++) { _series.Add(ser[i]); } } }