2015-02-23 2 views
0

Не совсем уверен, как это сделать для поиска google/SO, и я не уверен, что, если какой-нибудь код вам нужно будет увидеть. Если вам нужен код, дайте мне знать, и я введу его, но на данный момент я не совсем уверен, что вам нужно. Кроме того, я - хардкор «noob» для DevExpress, поэтому мой вопрос. Я понимаю, что это должно быть небольшое, простое исправление, но я не знаю, как это сделать (я надеюсь, что я узнаю немного больше о devexpress здесь)Отчет DevExpress: группировка: две группы как одна?

У меня есть отчет, который использует OrderDetail объект, который сам имеет поле byte для status (мы используем оценку (byte)enum). В настоящее время два значения статуса (ради этого отчета) являются «Завершенными» и «Платные», и в этом контексте оба означают одно и то же, и поэтому их необходимо сгруппировать по группе «Полный».

Я обнаружил, что если я вставляю следующий код в subGroupHeader_BeforePrint, я получаю их все помечаемыми как полные (статус «Платный» получает заголовок «Завершить»), но платные элементы теряют всю свою группировку (я понимаю, почему: м обработка его строка за строкой основой вместо «Всего отчета» основа)

  //not quite it... but gets close. It marks them all as complete but does not group them with complete. 
      if (orderDetail.Status == (byte)OrderStatus.Paid) 
      { 
       orderDetail.Status = (byte)OrderStatus.Complete; 
      } 

так что мне нужно, это общий способ отметить те Paid элементов, как полные без изменения сохраненных/хранимых данных, а затем сгруппируйте их с реальными полными элементами, используя любую сортировку уже на месте. Что мне нужно сделать, чтобы сообщить отчету DevExpress обрабатывать «Платные», как если бы они были на самом деле «Завершены?». Мне кажется, что должен быть способ сообщить отчету об этом в отчете, поскольку devexpress кажется чрезвычайно надежным.

ответ

0

Ответ на мою конкретную задачу - использовать вычисленное поле. Используя найденные команды here, создайте вычисленное поле (возвращающее тип данных, который вы хотите, если это то, что вы не хотите (например, если 50 означает «Платный» и 90 означает «Завершить»), используйте построение выражения для возврата 90, если это платно и значение столбца в противном случае. В этом случае [Статус]) установите для него метку заголовка группы, а также диапазон/раздел заголовка группы.

Смежные вопросы