コード例 #1
0
        private void AddAllFields()
        {
            IFeatureClass fetclass = _layer.Class as IFeatureClass;

            Feature[] features = fetclass.GetVectorFeatures();
            if (features == null || features.Length == 0 || features[0].FieldNames == null)
            {
                return;
            }
            int idx = 0;
            int i   = 0;

            foreach (string fld in features[0].FieldNames)
            {
                if (string.IsNullOrEmpty(fld))
                {
                    continue;
                }
                cbFields.Items.Add(fld.Trim());
                if (fld.ToUpper().Contains("NAME") || fld.Contains("名称"))
                {
                    idx = i;
                }
                i++;
            }
            if (cbFields.Items.Count > 0)
            {
                cbFields.SelectedIndex = idx;
            }
        }
コード例 #2
0
        private void btnAddAll_Click(object sender, EventArgs e)
        {
            listView1.Items.Clear();
            if (string.IsNullOrEmpty(_field))
            {
                return;
            }
            IFeatureClass fetclass = _layer.Class as IFeatureClass;

            Feature[] features = fetclass.GetVectorFeatures();
            if (features == null || features.Length == 0)
            {
                return;
            }
            Dictionary <string, int> _fieldValues = new Dictionary <string, int>();

            foreach (Feature fet in features)
            {
                string v = fet.GetFieldValue(_field);
                if (v == null)
                {
                    continue;
                }
                v = v.Trim();
                if (_fieldValues.ContainsKey(v))
                {
                    int count = _fieldValues[v]++;
                    _fieldValues.Remove(v);
                    _fieldValues.Add(v, count);
                }
                else
                {
                    _fieldValues.Add(v, 1);
                }
            }
            foreach (string v in _fieldValues.Keys)
            {
                ListViewItem it = new ListViewItem(v);
                it.Tag       = v;
                it.BackColor = GetColorByValue(v);
                it.SubItems.Add(v);
                it.SubItems.Add(_fieldValues[v].ToString());
                listView1.Items.Add(it);
            }
        }