/// <summary> /// Загрузка терриконов в главный грид окна. /// Если указан ID склада - в выборку попадут терриконы склада, /// если ID не указан - ХП вернёт все терриконы цеха. /// </summary> private void RefreshSimilarHeaps() { try { // 1) вызов ХП осуществляющей выборку терриконов, // 2) сохранение рекордсета в переменную "dts". dts = ExceptionWrapper.ProcessResult( () => spc.FillTable("GetHeap", "nUnitIdIn", UnitId, SqlDbType.Int, //если null - ХП вернёт все терриконы цеха. "nOwnerIdIn", OwnerId, SqlDbType.Int, "nMaterialIdIn", null, SqlDbType.Int, "nFractionIdIn", null, SqlDbType.Int, "nIsDel", 0, SqlDbType.Int ), "Ошибка получения списка терриконов", this ); // Загрузка полученного рекордсета в грид. igMain.DataSource = dts; // Запомним DataRow требуемого террикона. if (dts != null && dts.Rows.Count > 0) { requiredRow = dts.AsEnumerable() .Where(row => row.Field <int>("nHeapId").Equals(HeapId)) .FirstOrDefault(); // Сортировка терриконов по складам. igMain.Sort(igMain.Columns["colSHPlace"], ListSortDirection.Descending); // Сброс выделения строки по умолчанию igMain.ClearSelection(); // Check записи в гриде с входным терриконом. igMain.CheckRow(requiredRow, true); } // Получаем cуммарную ширину столбцов главного грида. WidthVisibleColumnsGrid(igMain); } catch (Exception ex) { // public class MessageBoxes from Itm.WClient.Com; MessageBoxes.Error(this, ex, "Ошибка наполнения главной таблицы!"); return; } }
/// <summary> /// Загрузка справочников: материалов, фракций, складов, шаблонов названий террикона. /// </summary> private void LoadDicts() { try { // Загрузка справочника материалов. var mats = ExceptionWrapper.ProcessResult( () => spc.FillTable("GetMaterialUser")); itbMaterial.DisplayMember = "cNameMaterial"; itbMaterial.ValueMember = "nMaterialId"; itbMaterial.DataSource = mats; if (MaterialId.HasValue) { itbMaterial.SelectedValue = MaterialId.Value; } // Загрузка справочника фракций. var fracs = ExceptionWrapper.ProcessResult( () => spc.FillTable("GetFractionUser")); itbFraction.DisplayMember = "cNameFraction"; itbFraction.ValueMember = "nFractionId"; itbFraction.DataSource = fracs; if (FractionId.HasValue) { itbFraction.SelectedValue = FractionId.Value; } // Если известен список разрешённых подраздлений, // то подставим его, иначе - все подразделения. itbPlace.DisplayMember = "cFullNameUnit"; itbPlace.ValueMember = "nUnitId"; itbPlace.DataSource = AllowUnits ?? Units; if (PlaceId.HasValue) { itbPlace.SelectedValue = PlaceId.Value; } itbOwner.DisplayMember = "cFullNameUnit"; itbOwner.ValueMember = "nUnitId"; itbOwner.DataSource = Units; if (OwnerId.HasValue) { itbOwner.SelectedValue = OwnerId.Value; } // Собственника можно менять только диспетчеру. if (DisableOwner) { itbOwner.Enabled = false; } // Наполнение справочника шаблонов названий террикона(результата объединения). CreateContextMenuStripItems(); } catch (Exception ex) { // public class MessageBoxes from Itm.WClient.Com; MessageBoxes.Error(this, ex, "Ошибка загрузки справочников!"); return; } }