在C1FlexGrid的列头展示汇总

C1FlexGrid控件具有展示、编辑、格式化、组织、总结以及打印数据等非常友好的功能。本文着重介绍C1FlexGrid for Winforms其他的实用性应用,指导用户如何计算选择单元格区域的合计值,并且展示在列头。本文会使用到C1FlexGrid的SelChange和AfterSelChange事件。

发布于 2014/11/01 00:00

ComponentOne Enterprise

C1FlexGrid控件具有展示、编辑、格式化、组织、总结以及打印数据等非常友好的功能。

本文着重介绍C1FlexGrid for Winforms其他的实用性应用,指导用户如何计算选择单元格区域的合计值,并且展示在列头。

本文会使用到C1FlexGrid的SelChangeAfterSelChange事件。

计算合计值

在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_DisplaySumInHeader

 

本文的示例下载地址:

Win_Flex_SumInHeader_CS1.zip (277.66 kb)

 

C1FlexGrid控件下载地址:/developer/componentone-winform

如果你对此存在问题,可以前往我们的技术社区:http://gcdn.grapecity.com.cn/

 

 

ComponentOne Enterprise | 下载试用

ComponentOne 是一套专注于企业 .NET开发、支持 .NET Core 平台,并完美集成于 Visual Studio 的第三方控件集,包含 300 多种 .NET开发控件,提供表格数据管理、数据可视化、报表和文档、日程安排、输入和编辑、导航和布局、系统提升工具等七大功能,被誉为“.NET开发的‘瑞士军刀’”。

ComponentOne 为您提供专业的产品咨询服务,并由技术支持工程师为您1对1解答。>> 发帖提问

相关产品
推荐相关案例
关注微信
葡萄城社区二维码

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态