我在数据库查询的强类型DataTable
中返回了强类型DataSet
。 DataSet
随后传递给ReportViewer
,以根据数据的某些方面显示图表。
我在数据集中添加了一个额外的列,我循环遍历表,根据从数据库返回的列之一计算此新列的值。
计算列是单字节值,它只是另一列的第一个元素,它是一个字节数组。
foreach (ReportData.EventRangeRow row in ReportData.EventRange)
{
byte[] analysis = (byte[]) row[ReportData.EventRange.analysisColumn];
row[ReportData.EventRange.first_analysisColumn] = analysis[0];
}
显然我的解决方案有效,但有点笨拙,所以我想知道是否有人可以建议一种方法来自动计算列作为类型化数据集的一部分,如果不是,一个linq语句将实现相同。
谢谢!
答案 0 :(得分:1)
您可以对报告本身进行多次计算,而不是扩展数据集。
假设您有一个数据源“MyDataTable”连接到您的报告。 然后将文本框拖到报表上并右键单击它然后选择表达式,您将获得一个很好的窗口,用于编写包含大量示例的表达式
一个集合函数可能是...... = First(Fields!MyColumn.Value,“MyDataTable”)
检查窗口中“常用功能 - >聚合”类别
下的示例