// изменение/удаление строки с данными по объекту public void ent_ModifEntityRow(object sender, EventArgs evtArgs) { PropertyDataList.setEventParentENT(); if (PropertyDataList.isEventParentENT()) { if (!(sender is BlockBegin) && !(sender is BlockEnd)) { Entity ent = sender as Entity; int row = this.FindIndex(o => o.ent == ent); if (!(sender as DBObject).IsErased) { if (row != -1) { this[row].Init(); } else { this.Add(new PropertyData(ref ent, ent_ModifEntityRow)); } } else { if (row != -1) { this.RemoveAt(row); } } UpdateDataGridView(); SelectRow(row, true); } } PropertyDataList.clearEventParentENT(); }
// обработка изменения набора выбора объектов private void doc_EntitySelectionChanged(object sender, System.EventArgs e) { PropertyDataList.setEventParentENT(); if (PropertyDataList.isEventParentENT()) { PromptSelectionResult res = ((Document)sender).Editor.SelectImplied(); if (res != null && res.Value != null) { ObjectId[] ids = res.Value.GetObjectIds(); if (ids != null) { foreach (ObjectId objID in ids) { SelectEntityRow(objID.Handle.Value.ToString()); } } } else { dataGridView.ClearSelection(); } } PropertyDataList.clearEventParentENT(); }