我正在使用来自 DataTable ( System.Data.DataTable
) 的数据填充 Telerik RadGrid。由于我正在支持其他人的应用程序,因此我不能使用任何其他数据源或显示控件。
在我的网格中,我有三列:假设它们是 Widgets Produced(A 列)、Faulty Widgets(B 列)和 Faultiness Proportion(C 列)。数据库查询为我提供了这些,并计算 C = B / A。
我GridFooterItem
在网格底部有一个总计行(一个 Telerik )。Telerik 在 A 列和 B 列中为我计算这些列的总数。我们无法仅从 C 列计算 C 列的“总和”的正确值:我们必须用(B 的总和)/(A 的总和)填充它。
我设法通过处理DataBound
RadGrid 的事件并手动填充页脚中的单元格来做到这一点。GridFooterItem
(我必须在事件中捕获,然后在它为我自动计算 A 和 B 的总数之后ItemCreated
,将值放入事件中。)这感觉很hacky - 也许有更好的方法......?DataBound
无论如何,重要的一点是:
我的网格被分成几组,所以我还需要在GridGroupFooterItem
s 中填充 C 列。在这种情况下,我无法使用我的 hacky 技术:我正在找到我想要的页脚单元格myGridFooterItem["WidgetsProduced"]
,但我无法使用组页脚单元格myGridGroupFooterItem["WidgetsProduced"]
- 它只是不是字典。
我试过使用myGridGroupFooterItem.Cells[]
,但这TableCellCollection
包含的单元格比我预期的要多,所以通过整数索引访问它们感觉有点麻烦(特别是因为这是一个用户定义的报告,所以列可能是任何顺序)。
那么:如何用我的计算填充这些单元格?