public frmBlks() { InitializeComponent(); //При запуске команды создаем класс коллекции блоков и наполняем список BlockUtils.DrawingBlocksCollection bc = new BlockUtils.DrawingBlocksCollection(); FillList(bc.ListOfBlocks); }
private void dgv1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { //Функция обрабатывает редактирование в ячейке таблицы try { //Создаем класс обработки блоков BlockUtils.DrawingBlocksCollection blkcollection = new BlockUtils.DrawingBlocksCollection(); //Получаем таблицу данных из контрола dgv1 System.Data.DataTable dt = dgv1.DataSource as System.Data.DataTable; if (dt != null) { //Получаем ID редактируемого блока из контрола, преобразуем к типу ObjectId ObjectId idEdited = (ObjectId)dgv1.Rows[e.RowIndex].Cells[BlockFieldNames.blockId].Value; //Пробегаем по всем строчкам в таблице чтобы найти нужную foreach (DataRow row in dt.Rows) { if (row != null && (ObjectId)row[BlockFieldNames.blockId] == idEdited) { //Создаем переменную, которая воспримет атрибуты блока из ячеек dgv1 BlockUtils.BlockProps bp = new BlockUtils.BlockProps(); //Назначаем соответствие атрибутов столбцам bp.BlockId = (ObjectId)row[BlockFieldNames.blockId]; bp.BlockName = (string)row[BlockFieldNames.blockName]; bp.Explodable = (bool)row[BlockFieldNames.Explodable]; if ((bool)row[BlockFieldNames.UniformScale]) { bp.UniformScale = BlockScaling.Uniform; } //Запускаем применение новых свойств в чертеже blkcollection.SetBlockProperties(bp); } } } } catch (PlatformDb.Runtime.Exception ex) { //Если что-то сломалось, то в командную строку выводится ошибка Platform.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor .WriteMessage("Не могу отправить изменения - ошибка: " + ex.Message); }; }