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; } }
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); } }