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; }
Signed in members can post, follow updates, and more. New here? Register a free account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.