Автоматизированная система контроля и учета энергоресурсов (АСКУЭ) на основе программного обеспечения Астра - Электроучет и счетчиков электрической энергии Меркурий от компании Инкотекс - разумное энергопотребление. Начните экономить уже сегодня!

Параметры отчета определяют какие именно данные будут отображены. Таким образом становится возможным формировать отчеты с различными данными по одному заранее сделанному шаблону. Также эти параметры можно использовать при выборке данных из базы данных.

В случае создания отчета по результатам измерения будет необходима возможность выбора конкретного измерения.

Удобнее делать этот выбор из выпадающего списка, нежели вводить вручную, для этого в качестве примера будет показана возможность использовать скрипты.

Для начала необходимо создать сам параметр. Это делается с помощью правой панели дизайнера отчета. Перейдите на закладку "Список полей" этой панели, нажать правой кнопкой на узле "Параметры" и выбрать "Редактировать параметры..." из контекстного меню.

После этого откроется следующее меню для редактирования параметров.

В нем следует нажать кнопку "Добавить", появится новый параметр. Имя параметра можно задать произвольно, в случае этого отчета он будет назван "Измерение". Тип параметра - "32-битное целое".

Чтобы подтвердить изменения необходимо нажать кнопку "OK".

Конечному пользователю отчета не удобно оперировать с номером проведенного измерения. Далее в этом пункте описывается как сделать из созданного параметра выпадающий список всех проведенных измерений.

Необходимо нажать "Скрипты" в верхнем меню дизайнера отчетов. Будет открыт редактор скриптов, в него необходимо поместить следующий текст:

using DevExpress.XtraEditors;

using DevExpress.XtraEditors.Controls;

using DevExpress.XtraReports.Parameters;

using System.Data;

private void xtraReportWithEventHandlers1_ParametersRequestBeforeShow(object sender, DevExpress.XtraReports.Parameters.ParametersRequestEventArgs e) {

try{

DataTable dt_DTISM =((DataSet)(this.xtraReportWithEventHandlers1.DataSource)).Tables["DateTimePoint"];

foreach (ParameterInfo info in e.ParametersInformation)

{

if (info.Parameter.Name == "Измерение")

{

LookUpEdit lookUpEdit = new LookUpEdit();

lookUpEdit.Properties.DataSource = dt_DTISM;

lookUpEdit.Properties.DisplayMember = "PointDateTime";

lookUpEdit.Properties.ValueMember = "idDateTimeLabel";

lookUpEdit.Properties.Columns.Add(new LookUpColumnInfo("PointDateTime", 0, "Измерение"));

lookUpEdit.Properties.Columns.Add(new LookUpColumnInfo("idDateTimeLabel", 0, ""));

lookUpEdit.Properties.Columns["idDateTimeLabel"].Visible=false;

info.Editor = lookUpEdit;

}

}

}

catch(SystemException ex)

{

System.Windows.Forms.MessageBox.Show(ex.Message);

return;

}

}

В программе это будет выглядеть следующим образом:

Чтобы выйти из редактора скриптов нажмите кнопку "Скрипты" еще раз.

Скрипты пишутся на языке C#. При необходимости можно дописать обработчики для различных событий, возникающих при формировании отчета.

Более подробное описание скриптов выходит за рамки данной справки. Для полноценного использования скриптов можно воспользоваться сторонней литературой по программированию на C#.