意思就是下面这段代码是正确的分割代码,但是iobject没有提供能够对recordset操纵进行撤回的接口,要自己手撕一个?
GeoRegion resultRegion1 = new GeoRegion(), resultRegion2 = new GeoRegion(); // 接受分割后的两个结果 GeoRegion region = recordset.GetGeometry() as GeoRegion; // 待切割图斑 Geometrist.SplitRegion(region, spilitTarget, resultRegion1, resultRegion2); // 开始切割 Dictionary<string, object> values = new Dictionary<string, object>(); // 拿到老图斑的字段信息 foreach (FieldInfo field in fieldInfos) { if (field.Name.Substring(0, 2) == "Sm") continue; values.Add(field.Name, recordset.GetFieldValue(field.Name)); } recordset.Delete(); // 删掉老的 recordset.Update(); recordset.AddNew(resultRegion1, values); // 添加新图斑1,并给字段赋值 recordset.Update(); recordset.AddNew(resultRegion2, values); // 添加新图斑2,并给字段赋值 recordset.Update();