// сбросить значения полей параметров void ClearUiParams(DataList g) { foreach (var c in uiParams.Where(x => x.Key == g).SelectMany(x => x.Value)) { CtrlsProc.SetControlValue(c, null, true); } SetUiParamsDefaultValues?.Invoke(g, new UiParamsEventArgs() { UiParams = uiParams }); }
// инициализация формы списка void InitFormList() { if (LicenseManager.UsageMode != LicenseUsageMode.Runtime) { return; } // управление формой только для не-модальных bWin.Enabled = bWin.Visible = !Modal; // форма вернет результат bSelect.Enabled = bSelect.Visible = (formModes.HasFlag(FormModes.GetResult)); // определение полей параметров foreach (var g in grids) { var p = new List <Control>(); if (g.ParamPanel != null && g.ParamPanel.Visible) { p.AddRange(g.ParamPanel.GetControls <Control>().Where(x => ValidParamControlType(x.GetType()))); } uiParams.Add(g, p); } // событие для определения полей параметров CreateUiParamsList?.Invoke(this, new UiParamsEventArgs() { UiParams = uiParams }); // событие для установки значений по умолчанию для полей параметров (до загрузки сохраненных) SetUiParamsDefaultValues?.Invoke(this, new UiParamsEventArgs() { UiParams = uiParams }); // обработчики для гридов foreach (var g in grids) { g.QueryParamsSet += DataList_QueryParamsSet; g.GetData += DataList_GetData; g.SendInfo += DataList_SendInfo; g.DoubleClick += (o, ek) => g.DoubleClickCell((gr) => OnSelectFromList()); g.ActivateList += (o, e) => SetToolButtonsForGrid(o as DataList); } }