/// <summary>
        /// 显示统计信息
        /// </summary>
        private void ShowSummaryTextInfo()
        {
            int icnt = this._SummaryContainer.Controls.Count;

            _FirstColSumTextType = SummaryTextType.None;
            foreach (Control ctr in this._SummaryContainer.Controls)
            {
                SummaryTextBox sumTextBox = ctr as SummaryTextBox;
                if (sumTextBox == null)
                {
                    continue;
                }
                if (sumTextBox.Name == "RowsHeader_Label")
                {
                    continue;
                }

                DataGridViewColumn currCell = this.GridViewColumns[sumTextBox.Name];
                if (currCell == null)
                {
                    continue;
                }
                sumTextBox.ForeColor = this._SummaryRowForeColor;
                sumTextBox.BackColor = this._SummaryRowBackColor;
                if (sumTextBox.IsHeaderLabel)
                {//如果SummaryTextBox的IsHeaderLabel为true则显示统计标题文本
                    sumTextBox.Text      = this._SummaryHeaderText;
                    sumTextBox.TextAlign = HorizontalAlignment.Center;
                    sumTextBox.Font      = new Font(this.DefaultCellStyle.Font, this._SummaryHeaderBold ? FontStyle.Bold : FontStyle.Regular);
                    _FirstColSumTextType = SummaryTextType.Text;
                    sumTextBox.Invalidate();
                    continue;
                }
                if (sumTextBox.IsSummary)
                {//如果是SummaryTextBox的IsSummary为true则计算对应列的合计
                    sumTextBox.Text         = this.CalcSum(currCell);
                    sumTextBox.FormatString = currCell.DefaultCellStyle.Format;
                    sumTextBox.TextAlign    = AligmentHelper.TranslateGridColumnAligment(currCell.DefaultCellStyle.Alignment);
                    sumTextBox.Invalidate();
                    continue;
                }
                if (!sumTextBox.IsHeaderLabel && !sumTextBox.IsSummary)
                {
                    sumTextBox.Text = "";
                    sumTextBox.Invalidate();
                }
            }
            this._SummaryRowHeaderLabel.Text = "√";
            //如果第一列是文本,则将统计文本设置到_SummaryRowHeaderLabel
            if (_FirstColSumTextType != SummaryTextType.Text)
            {
                this._SummaryRowHeaderLabel.Text = this._SummaryHeaderText;
            }
            this._SummaryRowHeaderLabel.TextAlign = HorizontalAlignment.Center;
            this._SummaryRowHeaderLabel.Font      = new Font(this.DefaultCellStyle.Font, this._SummaryHeaderBold ? FontStyle.Bold : FontStyle.Regular);
            this._SummaryRowHeaderLabel.Invalidate();
        }
        private void RefreshSummaryTextBoxCache()
        {
            if (this._SummaryColumns == null || this._SummaryColumns.Length == 0)
            {
                this._SummaryContainer.Visible = false;
                return;
            }
            this._SummaryContainer.Visible = this._SummaryRowVisible;
            //统计列
            for (int i = 0; i < this._SummaryColumns.Length; i++)
            {
                if (this.GridViewColumns.ContainsKey(_SummaryColumns[i]))
                {
                    SummaryTextBox     sumTextBox = new SummaryTextBox();
                    DataGridViewColumn currCol    = this.GridViewColumns[_SummaryColumns[i]];
                    sumTextBox.Name          = currCol.DataPropertyName.Trim() == "" ? currCol.Name : currCol.DataPropertyName;
                    sumTextBox.IsSummary     = true;
                    sumTextBox.IsHeaderLabel = false;
                    if (!this._SummaryTextHashTable.ContainsKey(currCol))
                    {
                        this._SummaryTextHashTable.Add(currCol, sumTextBox);
                    }
                    if (currCol.DisplayIndex == 0)
                    {
                        _FirstColSumTextType = SummaryTextType.Number;
                    }
                }
            }

            //非统计列
            foreach (DataGridViewColumn currCol in this.GridViewColumns.Values)
            {
                if (!_SummaryTextHashTable.ContainsKey(currCol))
                {
                    SummaryTextBox sumTextBox = new SummaryTextBox();
                    sumTextBox.Name          = currCol.DataPropertyName.Trim() == "" ? currCol.Name : currCol.DataPropertyName;
                    sumTextBox.IsSummary     = false;
                    sumTextBox.IsHeaderLabel = false;
                    this._SummaryTextHashTable.Add(currCol, sumTextBox);
                }
            }

            foreach (DataGridViewColumn currCol in this.GridViewColumns.Values)
            {
                if (_FirstColSumTextType == SummaryTextType.None)
                {
                    //取得当前列的下一列
                    DataGridViewColumn NextCol = this.Columns.GetNextColumn(currCol, DataGridViewElementStates.None, DataGridViewElementStates.None);
                    if (NextCol == null)
                    {
                        break;
                    }
                    if (NextCol.Name.Trim() == "")
                    {
                        continue;
                    }
                    SummaryTextBox nextSumTextBox = this._SummaryTextHashTable[NextCol] as SummaryTextBox;
                    SummaryTextBox currSumTextBox = this._SummaryTextHashTable[currCol] as SummaryTextBox;
                    currSumTextBox.Name = currCol.DataPropertyName.Trim() == "" ? currCol.Name : currCol.DataPropertyName;

                    //如果下一列对应是SummaryTextBox实例是合计,且第一列不是头列时设置第一列为头列类型
                    if (nextSumTextBox.IsSummary && _FirstColSumTextType != SummaryTextType.Text)
                    {
                        currSumTextBox.IsHeaderLabel = true;
                        currSumTextBox.IsSummary     = false;
                        currSumTextBox.Visible       = true;
                        _FirstColSumTextType         = SummaryTextType.Text;
                    }
                    else
                    {
                        currSumTextBox.IsHeaderLabel = false;
                        currSumTextBox.IsSummary     = false;
                        currSumTextBox.Visible       = false;
                    }
                }
            }
        }