Ejemplo n.º 1
0
 private void WriteBrushColor(IBrushColor symbol)
 {
     if (symbol == null)
     {
         return;
     }
     WriteFillColor(symbol.FillColor);
 }
Ejemplo n.º 2
0
        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]);
                }
            }
        }
 public override void ApplyColor(IBrushColor color)
 {
     Color = color;
 }
 public abstract void ApplyColor(IBrushColor color);