protected void combobox_компонент_Callback(object source, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e) { if (e.Parameter == "Update") { ¬ыборка < омпонентќтчетногоѕериода> компоненты = new ¬ыборка < омпонентќтчетногоѕериода>(); компоненты.«апрос.ƒобавитьѕараметр«апроса((new System.ComponentModel.GuidConverter()).ConvertFromString(combobox_ќтчетныйѕериод.SelectedItem.Value.ToString())); компоненты.«апрос.ƒополнительное”словиеќтбора = "T0.otchetnyiperiod_id = :p"; компоненты.«агрузить(); combobox_компонент.DataSource = компоненты; combobox_компонент.DataBind(); combobox_компонент.SelectedIndex = -1; } }
protected void “аблица_–езультат_CustomCallback(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewCustomCallbackEventArgs e) { –асчет расчет = ѕолучитьќбъект–асчет(); switch (e.Parameters) { case "Calc": try { расчет.ќчистить(); расчет.ѕодготовить ¬ычислению(); омпонентќтчетногоѕериода текущий омпонент = null; ¬ыборка < омпонентќтчетногоѕериода> компоненты = new ¬ыборка < омпонентќтчетногоѕериода>(); компоненты.«апрос.ƒобавить”словиеќтбора("»дентификатор", (new System.ComponentModel.GuidConverter()).ConvertFromString(combobox_компонент.SelectedItem.Value.ToString())); компоненты.«агрузить(); if (компоненты. оличество«аписей != 0) { текущий омпонент = компоненты[0]; } ѕараметры¬ыполнени¤–асчета параметры–асчета = new ѕараметры¬ыполнени¤–асчета(); параметры–асчета. омпонент = текущий омпонент; параметры–асчета.ѕериод = текущий омпонент.ќтчетныйѕериод; расчет.¬ыполнить(параметры–асчета); List <»змененныйЁлемент> —писок»зменений = ѕолучить—писок»зменений(расчет); “аблица_–езультат.DataSource = —писок»зменений; “аблица_–езультат.DataBind(); } catch (Exception exc) { Ѕарс.¬ебядро.»нтерфейс.—ообщение. омандаѕоказать»сключение("ќшибка выполнени¤ расчет", exc); } break; case "Save": try { расчет.—охранить–езультаты(); List <»змененныйЁлемент> —писок»змененийѕо—охранению = ѕолучить—писок»зменений(расчет); “аблица_–езультат.DataSource = —писок»змененийѕо—охранению; “аблица_–езультат.DataBind(); List <string> ошибки = расчет.ѕолучитьќшибки—охранени¤(); if (ошибки.Count > 0) { string текстќшибки = "ќшибка сохранени¤ форм:\n"; foreach (string строкаќшибка in ошибки) { текстќшибки += строкаќшибка + "\n"; } Ѕарс.¬ебядро.»нтерфейс.—ообщение. омандаѕоказать—ообщение(текстќшибки); } } catch { } break; } }