Вывод времени наработки в формате HH:mm:ss
Изменение формата вывода времени наработки можно выполнить в обработчике события 'Печать на странице'.
ШАГ 1. Откройте в редакторе отчетов требуемую отчетную форму (главном меню пункт Справочники -> Отчетные формы).
ШАГ 2. Откройте вкладку Скрипты и введите:
using System;
private void workTime_PrintOnPage(object sender, DevExpress.XtraReports.UI.PrintOnPageEventArgs e)
{
XRTableCell cell = (XRTableCell)sender;
cell.Text = FormatWorkTime(cell.Text, true);
}
// Преобразует время наработки в отформатированную строку.
// value - значение времени наработки в часах.
// includeSeconds - признак отображения секунд.
private string FormatWorkTime(object value, bool includeSeconds)
{
if (value == null || value == DBNull.Value)
{
return null;
}
// Если преобразование невозможно, то выводим пустую строку
double workTime = 0;
if (!Double.TryParse(value.ToString(), out workTime))
{
return String.Empty;
}
// Если время наработки отрицательное или большое, то выводим его как есть.
if (workTime < 0 || workTime > 1000000)
{
return String.Format("{0:n}", workTime);
}
// Выводим время наработки в формате HH:mm или HH:mm:ss в зависмости от значения includeSeconds
TimeSpan ts = TimeSpan.FromHours(workTime);
if (includeSeconds)
{
return String.Format("{0:d2}:{1:d2}:{2:d2}", (int)workTime, ts.Minutes, ts.Seconds);
}
else
{
return String.Format("{0:d2}:{1:d2}", (int)workTime, ts.Minutes);
}
}
ШАГ 3. В секции Detail выделите ячейку, которая связана с полем WorkTime и очистите у нее формат вывода, если был задан.
ШАГ 4. В свойствах выделенной ячейки на вкладке Скрипты выберите обработчик Печать на странице.
ШАГ 5. В выпадающем списке скриптов выберите workTime_PrintOnPage созданный на Шаг 2.
ШАГ 6. В секции ReportFooter в строке Итого выделите ячейку, которая связана с полем WorkTime и очистите у нее формат вывода, если был задан.
ШАГ 7. В свойствах выделенной ячейки на вкладке Скрипты выберите обработчик Печать на странице.
ШАГ 8. В выпадающем списке скриптов выберите workTime_PrintOnPage созданный на Шаг 2.
ШАГ 9. С помощью кнопки на панели инструментов редактора отчетов сохраните сделанные изменения.
Пример сформированного отчета: