在C1FlexGrid的列头展示汇总 选择区域内数字汇总
在C1FlexGrid的列头展示汇总
← 返回所有博客文章
C1FlexGrid控件具有展示、编辑、格式化、组织、总结以及打印数据等非常友好的功能。
本文着重介绍C1FlexGrid for Winforms其他的实用性应用,指导用户如何计算选择单元格区域的合计值,并且展示在列头。
本文会使用到C1FlexGrid的SelChange和AfterSelChange事件。
计算合计值
在C1FlexGrid的SelChange事件里,我们需要获取列的Caption和Index,并且循环此列选择单元格的个数。因此,为将来计算选择内容的合计值做准备。
代码参考:
private void c1FlexGrid1_SelChange(object sender, EventArgs e)
{
total = null;
//Get the respective Column's Caption & Index
if (col_index == -1)
col_name = c1FlexGrid1.Cols[c1FlexGrid1.Col].Caption;
else if (c1FlexGrid1.Col != col_index)
{
c1FlexGrid1.Cols[col_index].Caption = col_name;
col_name = c1FlexGrid1.Cols[c1FlexGrid1.Col].Caption;
}
col_index = c1FlexGrid1.Col;
double sum_of_cells = 0;
//Calculate the Sum of the Selection
if (c1FlexGrid1.Cols[c1FlexGrid1.Col].DataType != System.Type.GetType("System.String"))
{
for (int i = c1FlexGrid1.Row; i <= c1FlexGrid1.RowSel; i++)
sum_of_cells = sum_of_cells + Convert.ToDouble(c1FlexGrid1);
}
else
MessageBox.Show("String Column!!!!!!!");
total = col_name + " - SUM : " + sum_of_cells;
}
展示合计值
在计算完合计后,我们使用AfterSelChange事件在列头展示合计值。
将结果输出到列的Caption,代码参考如下:
private void c1FlexGrid1_AfterSelChange(object sender, C1.Win.C1FlexGrid.RangeEventArgs e)
{
//Display the Sum in column Header
c1FlexGrid1.Cols[c1FlexGrid1.Col].Caption = total;
}
如下图片能够帮助你理解这个功能。
本文的示例下载地址:
Win_Flex_SumInHeader_CS1.zip (277.66 kb)
C1FlexGrid控件下载地址:/developer/componentone-winform
如果你对此存在问题,可以前往我们的技术社区:http://gcdn.grapecity.com.cn/