t.EditCompleted += (s, e) => { if (e.Action == Editor.EditAction.Add) { foreach (var edit in e.Edits) { Graphic g = edit.Graphic; bool requiredFieldSupplied = true; foreach (var item in g.Attributes) { //TODO: check required field is not null if (item.Key == "MyRequiredFieldName" && item.Value == null) { requiredFieldSupplied = false; break; } } FeatureLayer l = edit.Layer as FeatureLayer; if (requiredFieldSupplied) l.SaveEdits(); else MessageBox.Show("MyRequiredFieldName cannot be null"); } } };
private bool HasChange(Control control, object valueInGraphic, Type type, out bool hasError) { }
FeatureLayer l = sender as FeatureLayer var nonNullableFields = new List<Field>(); foreach (var f in l.LayerInfo.Fields) { if (!f.Nullable) nonNullableFields.Add(f); } lookup.Add(l.LayerInfo.Name, nonNullableFields);
void f_EditEnded(object sender, EventArgs e) { FeatureDataForm f = sender as FeatureDataForm; FeatureLayer l = f.FeatureLayer; Graphic g = f.GraphicSource; var nonNullableFields = lookup[l.LayerInfo.Name]; foreach (var item in g.Attributes) { if (ContainsField(item.Key, nonNullableFields) && item.Value == null) throw new Exception(string.Format("Field '{0}' cannot be null", item.Key)); } l.SaveEdits(); } private bool ContainsField(string name, List<Field> fields) { foreach (var f in fields) if (name == f.Name) return true; return false; }
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.