示例#1
0
        /// <summary>
        ///  处理空间统计
        /// </summary>
        /// <param name="mapControl"></param>
        /// <param name="pGeometry"></param>
        /// <param name="layerName"></param>
        public void DealFeatureQuery(AxMapControl mapControl, IGeometry pGeometry, string queryStr, string layerName)
        {
            IGroupLayer gLayer = null;

            if (string.IsNullOrEmpty(layerName))
            {
                return;
            }
            int           gIndex;
            int           layerIndex;
            IFeatureLayer pFeatureLayer = LayerUtil.QueryLayerInMap(mapControl, layerName, ref gLayer, out layerIndex, out gIndex) as IFeatureLayer;

            if (pFeatureLayer == null)
            {
                return;
            }
            IQueryFilter   queryFilter    = null;
            IFeatureCursor pFeatureCursor = null;

            if (string.IsNullOrEmpty(queryStr))
            {
                pFeatureCursor = FeatureDealUtil.QueryFeatureInLayer(pFeatureLayer, pGeometry, ref queryFilter);
            }
            else
            {
                pFeatureCursor = FeatureDealUtil.QueryFeatureInLayer(pFeatureLayer, queryStr, ref queryFilter);
            }
            IList <IFeature> features = FlashFeatureShape(mapControl, pFeatureLayer, pFeatureCursor);

            ShowFeatureDetail(pFeatureLayer, features, queryFilter);
        }
示例#2
0
        //刷新要素 在增加、删除字段后必须进行调用
        public void RefreshFeaturesByFids()
        {
            var fids = new List <int>();

            pfeatuers.ForEach(p => {
                var value = p.get_Value(p.Fields.FindField("FID"));
                fids.Add((int)value);
            });
            pfeatuers = FeatureDealUtil.FindFeatures(layer, fids);
        }
示例#3
0
 private void dataGridView_CellValueChanged(object sender, DataGridViewCellEventArgs e)
 {
     if (e.RowIndex > -1)
     {
         this.dataGridView.EndEdit();
         var dRow     = dataTable.Rows[e.RowIndex];
         var pFeature = this.pfeatuers[e.RowIndex];
         FeatureDealUtil.UpdateFeature(pFeature, dRow);
     }
 }
        /// <summary>
        /// 更新valueslistBoxControl元素
        /// </summary>
        /// <param name="field"></param>
        void UpdateFieldUniqueValueListbox(IField field)
        {
            this.valueslistBoxControl.Items.Clear();
            IList <object> values = FeatureDealUtil.GetUnikeValues(selectLayer as IFeatureLayer, field.Name, 200);

            if (field.Type == esriFieldType.esriFieldTypeString)
            {
                foreach (var value in values)
                {
                    this.valueslistBoxControl.Items.Add(String.Format("'{0}'", value));
                }
            }
            else
            {
                foreach (var value in values)
                {
                    this.valueslistBoxControl.Items.Add(value);
                }
            }
            this.valueslistBoxControl.SelectedIndex = -1;
        }
示例#5
0
        private void simpleButton1_Click(object sender, EventArgs e)
        {
            List <DataRow> rows;
            var            deFeatures = GetIsGoingDeletedRows(out rows);

            if (rows.Count == 0)
            {
                MessageBox.Show("尚未选择任何行,无法删除");
                return;
            }
            if (FeatureDealUtil.DeleteFeatures(deFeatures))
            {
                rows.ForEach(row =>
                {
                    this.dataTable.Rows.Remove(row);
                });
                deFeatures.ForEach(feature => this.pfeatuers.Remove(feature));
                this.countLabel.Text = dataTable.Rows.Count.ToString();
            }
            else
            {
                MessageBox.Show("删除错误");
            }
        }