如何在下面的文本框中得到超级列的总和

时间:2016-05-20 19:50:17

标签: .net vb.net gridview infragistics

我有一个要求,我想在下面的网格中总计TotalCost,并在下面的Total Textbox中显示总和结果。

我在这里使用infragistics ultrawingrid。我怎么能这样做

enter image description here

1 个答案:

答案 0 :(得分:2)

您可以简单地遍历行集合,并且对于每一行,将特定列的值转换为小数,并将其添加到运行总计。最后使用预定义的货币格式说明符将TextBox的text属性设置为运行总计的字符串转换

decimal total = 0m;
foreach(UltraGridRow row in grid.Rows)
{
    total += Convert.ToDecimal(row.Cells["TotalCost"].Value);
}
textBox1.Text = total.ToString("C");

请记住,UltraGrid有一个Summaries集合属性,您可以使用该属性在特殊的“Summary”区域中直接显示引用列下的任何列的总和。

SummarySettings ss = null;
ss = grid.Bands[0].Summaries.Add("mySum", 
         SummaryType.Sum, null, 
         grid.Bands[0].Columns["TotalCost"], 
         SummaryPosition.UseSummaryPositionColumn, 
         grid.Bands[0].Columns["TotalCost"]);
ss.DisplayFormat = "{0:C}";
ss.Appearance.ForeColor = Color.Red;
ss.Appearance.TextHAlign = HAlign.Right;
grid.DisplayLayout.Override.SummaryDisplayArea = SummaryDisplayAreas.BottomFixed;