DevExpress.XtraGridview添加统计数据的函数(原创)

   1:   
   2:          #region 对GridControl表格编程,实现一些基础的统计和计算功能;
   3:   
   4:          /// <summary>
   5:          /// 增加统计数据在GridView的底部;
   6:          /// //add by 郝永和
   7:          /// </summary>
   8:          /// <param name="gridView">要增加分组统计的GridView</param>
   9:          /// <param name="sFieldName">字段名称</param>
  10:          /// <param name="tkType">统计类型 录入 TKTotalType.TotalType. 进行选择即可</param>
  11:          /// <param name="sDispFormat">字段的显示格式如 "0.00","0.000"</param>
  12:          public void TKFuncGridViewAddSummery(GridView gridView, string sFieldName, string tkType, string sDispFormat)
  13:          {
  14:              try
  15:              {
  16:                  gridView.OptionsView.ShowFooter = true;
  17:                  gridView.OptionsView.ShowGroupedColumns = true;
  18:                  gridView.Columns.ColumnByFieldName(sFieldName).ColumnEdit.DisplayFormat.FormatType = FormatType.Numeric;
  19:                  if (sDispFormat.Length > 0)
  20:                  {
  21:                      gridView.Columns.ColumnByFieldName(sFieldName).ColumnEdit.DisplayFormat.FormatString = sDispFormat;
  22:                  }
  23:                  else
  24:                  {
  25:                      gridView.Columns.ColumnByFieldName(sFieldName).ColumnEdit.DisplayFormat.FormatString = "0.00";
  26:                  }
  27:                  if (tkType == TKTotalType.TotalType.记录个数)
  28:                  {
  29:                      gridView.GroupSummary.Add(SummaryItemType.Count, sFieldName);
  30:                      gridView.Columns[sFieldName].SummaryItem.FieldName = sFieldName;
  31:                      gridView.Columns[sFieldName].SummaryItem.DisplayFormat = TKTotalType.TotalType.记录个数;
  32:                      gridView.Columns[sFieldName].SummaryItem.SummaryType = SummaryItemType.Count;
  33:                  }
  34:                  if (tkType == TKTotalType.TotalType.金额合计)
  35:                  {
  36:                      gridView.GroupSummary.Add(SummaryItemType.Sum, sFieldName);
  37:                      gridView.Columns[sFieldName].SummaryItem.FieldName = sFieldName;
  38:                      gridView.Columns[sFieldName].SummaryItem.DisplayFormat = TKTotalType.TotalType.金额合计;
  39:                      gridView.Columns[sFieldName].SummaryItem.SummaryType = SummaryItemType.Sum;
  40:                  }
  41:                  if (tkType == TKTotalType.TotalType.数值合计)
  42:                  {
  43:                      gridView.GroupSummary.Add(SummaryItemType.Sum, sFieldName);
  44:                      gridView.Columns[sFieldName].SummaryItem.FieldName = sFieldName;
  45:                      gridView.Columns[sFieldName].SummaryItem.DisplayFormat = TKTotalType.TotalType.数值合计;
  46:                      gridView.Columns[sFieldName].SummaryItem.SummaryType = SummaryItemType.Sum;
  47:                  }
  48:                  if (tkType == TKTotalType.TotalType.平均值)
  49:                  {
  50:                      gridView.GroupSummary.Add(SummaryItemType.Average, sFieldName);
  51:                      gridView.Columns[sFieldName].SummaryItem.FieldName = sFieldName;
  52:                      gridView.Columns[sFieldName].SummaryItem.DisplayFormat = TKTotalType.TotalType.平均值;
  53:                      gridView.Columns[sFieldName].SummaryItem.SummaryType = SummaryItemType.Average;
  54:                  }
  55:                  if (tkType == TKTotalType.TotalType.最大值)
  56:                  {
  57:                      gridView.GroupSummary.Add(SummaryItemType.Sum, sFieldName);
  58:                      gridView.Columns[sFieldName].SummaryItem.FieldName = sFieldName;
  59:                      gridView.Columns[sFieldName].SummaryItem.DisplayFormat = TKTotalType.TotalType.最大值;
  60:                      gridView.Columns[sFieldName].SummaryItem.SummaryType = SummaryItemType.Sum;
  61:                  }
  62:                  if (tkType == TKTotalType.TotalType.最小值)
  63:                  {
  64:                      gridView.GroupSummary.Add(SummaryItemType.Max, sFieldName);
  65:                      gridView.Columns[sFieldName].SummaryItem.FieldName = sFieldName;
  66:                      gridView.Columns[sFieldName].SummaryItem.DisplayFormat = TKTotalType.TotalType.最小值;
  67:                      gridView.Columns[sFieldName].SummaryItem.SummaryType = SummaryItemType.Max;
  68:                  }
  69:              }
  70:              catch
  71:              {
  72:                  //MessageBox.Show("表格列名称异常,可能未提供正确的配置文件路径.");
  73:              }
  74:          }
  75:   
  76:          #endregion
posted @ 2007-12-30 09:49  紫雨(HB)  阅读(1944)  评论(0编辑  收藏  举报