自定义报表能增加一行合计吗?
自定义报表能增加一行合计吗? 可以实现:如果您使用的是Table控件,为Table 可在table footer 中实现合计功能:注意下面几行代码:
1. 初始化值时, 添加合计运算表达式:String[] textBoxValues = new String[] { "helloTitle", "Year Released", "MPAA", "=Fields!Title.Value", "=Fields!YearReleased.Value", "=Fields!MPAA.Value", "=Sum(Fields!Title.Value+Fields!YearReleased.Value)", "=Sum(Fields!Title.Value+Fields!YearReleased.Value)", "=Sum(Fields!Title.Value+Fields!YearReleased.Value)" };
2. 将对应Row 设为Table.Footer:table.Footer.TableRows.Add(tableRows);
Table table = new Table();
table.Name = "Table1";
//Creating the rows,columns as well as TableCells for the table as well as TextBoxes to be placed within the Table Cells
TextBox[] tableTextBoxes = new TextBox;
TableCell[] tableCells = new TableCell;
TableRow[] tableRows = new TableRow;
TableColumn[] tableColumns = new TableColumn;
String[] textBoxValues = new String[] { "helloTitle", "Year Released", "MPAA", "=Fields!Title.Value", "=Fields!YearReleased.Value", "=Fields!MPAA.Value", "=Sum(Fields!Title.Value+Fields!YearReleased.Value)", "=Sum(Fields!Title.Value+Fields!YearReleased.Value)", "=Sum(Fields!Title.Value+Fields!YearReleased.Value)" };
String[] columnsWidth = new String[] { "9cm", "4.6cm", "5.3cm" };
String[] rowsHeight = new String[] { "1.5cm", "1.5cm","1.5cm" };
//Setting properties for the Textboxes to be placed in the TableCells
for (int i = 0; i < tableTextBoxes.Length; i++)
{
tableTextBoxes.SetValue(new TextBox(), i);
tableTextBoxes.Name = "textBox" + (i + 1);
tableTextBoxes.Value = ExpressionInfo.FromString(textBoxValues);
tableTextBoxes.Style.PaddingBottom = tableTextBoxes.Style.PaddingLeft = tableTextBoxes.Style.PaddingRight = tableTextBoxes.Style.PaddingTop = ExpressionInfo.FromString("2pt");
tableTextBoxes.Style.TextAlign = ExpressionInfo.FromString("Left");
tableCells.SetValue(new TableCell(), i);
tableCells.ReportItems.Add(tableTextBoxes);//Adding the TextBoxes to the TableCells
if (i < rowsHeight.Length)
{
tableRows.SetValue(new TableRow(), i);
tableRows.Height = "1.25cm";
table.Height += "1.25cm";
}
if (i < columnsWidth.Length)
{
tableColumns.SetValue(new TableColumn(), i);
tableColumns.Width = columnsWidth;
table.Width += columnsWidth;
table.TableColumns.Add(tableColumns);
tableCells.ReportItems.Style.BackgroundColor = ExpressionInfo.FromString("LightBlue");
tableRows.TableCells.Add(tableCells);
}
if(i>2 && i<6)
{
tableCells.ReportItems.Style.BackgroundColor = ExpressionInfo.FromString("=Choose((RowNumber(\"Table1\") +1) mod 2, \"PaleGreen\",)");
tableRows.TableCells.Add(tableCells);
}
if (i > 5 && i < 9)
{
tableRows.TableCells.Add(tableCells);
}
}
table.Header.TableRows.Add(tableRows);
table.Details.TableRows.Add(tableRows);
table.Footer.TableRows.Add(tableRows);
table.Top = "1cm";
table.Left = "0.635cm";
report.Report.Body.ReportItems.Add(logo);
report.Report.Body.ReportItems.Add(table);
可以在下面代码的基础上添加吗?
可以在下面代码的基础上添加吗? 可以实现行统计和列统计吗 您好,您的账户已经升级为金牌用户,您可以在金牌服务区发帖了。在区域报表中同样添加,实现思路是一样的。 我使用的不是table控件的,是多个Label拼起来的报表 您能上传您的示例程序吗?我在这边根据您实际的报表实现,给出解决方法。
附件
附件 附件中只有一个resk资源文件,是不是没上传完?
页:
[1]