StiText Component doesn't work correctly
Posted: Fri Feb 27, 2015 2:49 pm
Hi there!
I'm trying to create a header and footer throungh runtime with an existing compiled report
but StiText components doesn't show any text after report is printed, my code is rigth below:
private StiReport DesenhaCabecalhoRodape(StiReport report)
{
if (identity == null) return report;
var empresa = _repositoryEmpresa.FindBy<Empresa, Int64>(identity.CompanyId);
var page = report.Pages[0];
/* Creating report page Image*/
var ms = new MemoryStream(empresa.LogoRelatorio);
var image = Image.FromStream(ms);
/* Creating report page Brush*/
var myBrush = new StiSolidBrush(Color.LightGray);
var myBrushTransparent = new StiSolidBrush(Color.Transparent);
var myBrushWhite = new StiSolidBrush(Color.White);
var myBrushBlack = new StiSolidBrush(Color.Black);
/* Creating report border*/
var myBorder = new StiBorder
{
Color = Color.Black,
Side = StiBorderSides.All,
Size = 1
};
/* Creating report page header*/
var pageHeaderTemplate = new StiPageHeaderBand
{
Height = 2,
Name = "PageHeader",
Brush = myBrush,
Border = myBorder
};
/* Creating text header */
var headerText = new StiText(new RectangleD(20, 20, 4.7, 0.4))
{
HorAlignment = StiTextHorAlignment.Center,
Name = "TextTest",
Text = "teste : {ultimoAcesso}",
Brush = myBrushTransparent,
TextBrush = myBrushBlack,
Border = myBorder,
TextFormat = new StiGeneralFormatService(),
Left = 0.3,
Top = 0.6
};
/* Creating company image logo */
var imageLogo = new StiImage
{
Height = 1.6,
Width = 2.2,
Left = 0.2,
Top = 0.2,
Stretch = true,
Brush = myBrushWhite,
Border = myBorder,
Image = image
};
//create footer
var pagefootertemplate = new StiPageFooterBand
{
Height = 0.5,
Name = "PageFooter",
Brush = myBrush,
Border = myBorder
};
//Create page count on footer
var footerText = new StiText(new RectangleD(0, 0, 7, 0.5))
{
Text = "Página {PageNumber} de {TotalPageCount}",
HorAlignment = StiTextHorAlignment.Left,
Name = "footerPageCount",
Enabled = true,
Brush = myBrush,
Font = new Font("Arial", 12F, FontStyle.Bold)
};
page.Components.AddRange(new StiComponent[]
{
pageHeaderTemplate,
pagefootertemplate
});
pageHeaderTemplate.Components.AddRange(new StiComponent[]
{
imageLogo,
headerText
});
pagefootertemplate.Components.Add(footerText);
return report;
}
I'm trying to create a header and footer throungh runtime with an existing compiled report
but StiText components doesn't show any text after report is printed, my code is rigth below:
private StiReport DesenhaCabecalhoRodape(StiReport report)
{
if (identity == null) return report;
var empresa = _repositoryEmpresa.FindBy<Empresa, Int64>(identity.CompanyId);
var page = report.Pages[0];
/* Creating report page Image*/
var ms = new MemoryStream(empresa.LogoRelatorio);
var image = Image.FromStream(ms);
/* Creating report page Brush*/
var myBrush = new StiSolidBrush(Color.LightGray);
var myBrushTransparent = new StiSolidBrush(Color.Transparent);
var myBrushWhite = new StiSolidBrush(Color.White);
var myBrushBlack = new StiSolidBrush(Color.Black);
/* Creating report border*/
var myBorder = new StiBorder
{
Color = Color.Black,
Side = StiBorderSides.All,
Size = 1
};
/* Creating report page header*/
var pageHeaderTemplate = new StiPageHeaderBand
{
Height = 2,
Name = "PageHeader",
Brush = myBrush,
Border = myBorder
};
/* Creating text header */
var headerText = new StiText(new RectangleD(20, 20, 4.7, 0.4))
{
HorAlignment = StiTextHorAlignment.Center,
Name = "TextTest",
Text = "teste : {ultimoAcesso}",
Brush = myBrushTransparent,
TextBrush = myBrushBlack,
Border = myBorder,
TextFormat = new StiGeneralFormatService(),
Left = 0.3,
Top = 0.6
};
/* Creating company image logo */
var imageLogo = new StiImage
{
Height = 1.6,
Width = 2.2,
Left = 0.2,
Top = 0.2,
Stretch = true,
Brush = myBrushWhite,
Border = myBorder,
Image = image
};
//create footer
var pagefootertemplate = new StiPageFooterBand
{
Height = 0.5,
Name = "PageFooter",
Brush = myBrush,
Border = myBorder
};
//Create page count on footer
var footerText = new StiText(new RectangleD(0, 0, 7, 0.5))
{
Text = "Página {PageNumber} de {TotalPageCount}",
HorAlignment = StiTextHorAlignment.Left,
Name = "footerPageCount",
Enabled = true,
Brush = myBrush,
Font = new Font("Arial", 12F, FontStyle.Bold)
};
page.Components.AddRange(new StiComponent[]
{
pageHeaderTemplate,
pagefootertemplate
});
pageHeaderTemplate.Components.AddRange(new StiComponent[]
{
imageLogo,
headerText
});
pagefootertemplate.Components.Add(footerText);
return report;
}