/// <summary>
        /// Удалить объекты слоя
        /// </summary>
        /// <param name="table">Таблица</param>
        /// <param name="ids">Список ID объектов</param>
        /// <returns>Результат операции</returns>
        public bool DeleteObjects(CosM.CosmeticTableBaseM table, mvIntArray ids)
        {
            if (table != null && ids != null)
            {
                try
                {
                    var layer = MapViewer.getLayer(table.Name);
                    if (layer != null)
                    {
                        bool result = true;

                        for (int i = 0; i < ids.count; i++)
                        {
                            try
                            {
                                mvVectorObject obj = layer.getObject(ids.getElem(i));
                                int            id  = Convert.ToInt32((string)obj.fieldValue(table.PkFieldName));
                                result &= table.DeleteObject(id);
                            }
                            catch { result = false; }
                        }
                        result &= layer.DeleteArray(ids);

                        return(result);
                    }
                }
                catch { }
            }
            return(false);
        }
Пример #2
0
 /// <summary>
 /// Удаление текущего объекта
 /// </summary>
 public void DeleteObject(object parameter = null)
 {
     if (CanDeleteObject(parameter))
     {
         mvIntArray ids = new mvIntArray();
         ids.count = SelectedItems.Count;
         for (int i = 0; i < SelectedItems.Count; i++)
         {
             DataRow dr = SelectedItems[i].Row;
             ids.setElem(i, Convert.ToInt32(dr["id"]));
         }
         _mvLayer.DeleteArray(ids);
         _mvLayer.RemoveDeletedObjects();
         _axMapLib.mapRepaint();
         Reload();
     }
 }