У нас возникла проблема при построении отчета содержащего два DataBand - происходит задвоение бэндов.
Бэнды выводятся в следующем порядке: первый, второй, первый, второй (кода должны только - первый, второй).
Данные берутся из соответствующих свойств (коллекций IList) бизнес объекта (представлен в виде класса-контейнера OrderContainer)
Code: Select all
class OrderContainer
{
public string Name{get;set;}
public IList Specification{ get;protected set; }
public IList SpecialRequirements { get; protected set; }
....
}
class OrderSpecification
{
public Quantity Thickness { get; set; }
public Quantity Width { get; set; }
...
}
class Quantity
{
public decimal Value{get;set;}
...
}
class SpecialRequirement
{
public virtual string Value { get; set; }
...
}
Code: Select all
var rep = new StiReport();
rep.Load(info.FullPath);
rep.GlobalizationManager.Culture = new System.Globalization.CultureInfo("en-US");
//в данном случае container будет типа OrderContainer
var container = ReportDataContainerFactory.Get(info.Name);
rep.RegBusinessObject("DataContainers", container.GetType().Name, container);
rep.Design();
Затем отображаются данные из Specification следующим образом:
1) PositionsHeader (Header band), заголовок для списка Specification.
2) dataPositions (Data band), у которого в качестве бизнес объекта задан OrderContainer.Specification.
3) PositionsFooter (Footer band).
Затем отображаются данные из SpecialRequirements следующим образом:
1) SpecialRequirementsHeader (Header band), заголовок для списка SpecialRequirements.
2) dataSpecRec (Data band), у которого в качестве бизнес объекта задан OrderContainer.SpecialRequirements.
Проблема в том что секции для отображения Specification и SpecialRequirements отображаются 2 раза -
[Specification],
[SpecialRequirements],
[Specification],
[SpecialRequirements].
Пожалуйста подскажите как можно решить данную проблему?
Также подскажите как можно локализовать отчет (как задать локализацию в шаблоне нашел, но как выставить необходимую локаль при его формировании нет)?