Проблема с интерпретацией минут при печати отчета.

Здравствуйте. Проблема в следующем. В архиве хранится значение суточного времени наработки 23:59. При печати отчета в соответствующей ячейке с типом данных Число {0:F2} проставляется 23,98. Если выбираем тип данных ДатаВремя {HH:mm} - проставляется HH:mm. Скриншоты и отчетная форма во вложении.
Ведомость параметров объекта учета (ТМК-Н3, ТМК-Н13) 1 ввод.lersreport (157 KB)
02.JPG
01.JPG
00.JPG

В отчетах время выводится как вещественное число.
Если надо выводить в формате HH:mm:ss, то для ячеек со временем наработки добавьте обработчик события ‘Перед печатью’, в котором форматируйте вывод. Например:

private void WorkTime_Heat_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) 
{
	double t = 0;
	double.TryParse(WorkTime_Heat.Text, out t);
	System.TimeSpan ts = System.TimeSpan.FromHours(t);
	if (ts.Days == 1);
		WorkTime_Heat.Text = String.Format("{0:00}:{1:00}:{2:00}", 24, ts.Minutes, ts.Seconds);
	else
		WorkTime_Heat.Text = String.Format("{0:00}:{1:00}:{2:00}", ts.Hours, ts.Minutes, ts.Seconds);
}

Предварительно удалите формат старый формат вывода.

Спасибо, сделал форматирование на основе вашего примера.

Есть еще вопрос. Не получается реализовать подобным образом форматирование ячейки, в которой выполняется сводка по сумме. В отчетной форме убрал для нее форматирование, которое стояло ранее, добавил обработчик - при выводе отчета на экран число в ячейке имеет формат вещественного с произвольным кол-вом знаков после запятой.

Для форматирования ячейки с суммированием времени наработки добавьте обработчик события ‘Печать на странице’. Для часов выводится TotalHours.

private void sumWorkTime_Heat_PrintOnPage(object sender, DevExpress.XtraReports.UI.PrintOnPageEventArgs e) 
{
   double t = 0;
   double.TryParse(sumWorkTime_Heat.Text, out t);
   System.TimeSpan ts = System.TimeSpan.FromHours(t);
   if (ts.Days == 1);
      sumWorkTime_Heat.Text = String.Format("{0:00}:{1:00}:{2:00}", 24, ts.Minutes, ts.Seconds);
   else
      sumWorkTime_Heat.Text = String.Format("{0:00}:{1:00}:{2:00}", (int)ts.TotalHours, ts.Minutes, ts.Seconds);
}

Спасибо за помощь.