C1FlexGrid的SubTotal函数怎么用啊?急。。

解决方案 »

  1.   


     flex.Subtotal(C1.Win.C1FlexGrid.AggregateEnum.Clear);
     for (int c = 0; c < flex.Cols.Count; c++) {
                        if (c < flex.Cols.Fixed || flex.Cols[c].DataType == typeof(System.String) || flex.Cols[c].DataType == typeof(System.DateTime) || flex.Cols[c].DataType == typeof(System.Boolean) || flex.Cols[c].DataType == typeof(System.Byte) || flex.Cols[c].DataType == typeof(System.Char) || flex.Cols[c].DataType == typeof(System.SByte) || flex.Cols[c].DataType == typeof(System.Object))
                            continue;
                        flex.Subtotal(AggregateEnum.Sum, 0, -1, c, "合计");
                        if (flex.Cols[c] != null && (flex.Cols[c].DataType == typeof(System.Int32) || flex.Cols[c].DataType == typeof(System.Decimal))) {
                            decimal de = string.IsNullOrEmpty(Convert.ToString(flex.GetData(flex.Rows.Count - 1, c))) ? 0 : Convert.ToDecimal(flex.GetData(flex.Rows.Count - 1, c));
                            flex.SetData(flex.Rows.Count - 1, c, de.ToString("0.00"));
                        }
                    }
                    flex.SubtotalPosition = SubtotalPositionEnum.BelowData;
                    CellStyle s = flex.Styles[CellStyleEnum.Subtotal0];
                    s.BackColor = Color.White;
                    s.ForeColor = Color.Red;                flex.Tree.Column = 1;
    绝对可以使用的。
    这是一个方法体。你只要将flex做个参数传进来即可.
    结贴吧.