grideview从数据库读取数据,行数是不固定的,我求某一列的和,比如这一列是“Menoy”,该怎么做呢?
另外我想找到grideview中的某个特定的单元格,比如从左到右,从上到下,最后一列与最后一行的交叉的那个单元格,该怎么做呢?

解决方案 »

  1.   

    我以前发过一个帖子。你可以看下:http://topic.csdn.net/u/20090909/22/40ba837f-b68c-4e3f-aa2e-3a5ddf9c5fd9.html

      

  2.   

    1.可以用sql做sum
    2. 可以用DataTable的compute计算. Object o  = dt.Compute("SUM(字段)","");3. 循环各个gridviewrow,累加计算
      

  3.   

    1。Object o = dt.Compute("SUM(字段)","");
    2.  GridView1.Rows[n].Cells[n]
      

  4.   

    http://wukai520.520.blog.163.com/blog/static/112302290200931511133413/
      

  5.   


        /// <summary>
        /// 数据源为DataTable的GridView列汇总器
        /// </summary>
        public class GridViewTotaller
        {
            #region Variables
            private GridView gridView;
            public string DispHTMLFormat = "{0}";        #endregion        #region Constructor
            public GridViewTotaller(GridView gridView)
            {
                this.gridView = gridView;
            }
            #endregion        /// <summary>
            /// 汇总Grid某一列的数据
            /// </summary>
            /// <param name="totalFld">要统计的列名</param>
            /// <param name="cellIndex">要统计列的index</param>
            /// <param name="format">格式,默认值为空</param>
            public void Total<T>(String totalFld, Int32 cellIndex, String format) where T : struct, IFormattable
            {
                DataTable dt = (DataTable)gridView.DataSource;
                if (dt.Rows.Count <= 0) return;
                Object oValue = dt.Compute(String.Format("sum({0})", totalFld), "");
                T value = (T)(oValue == DBNull.Value ? 0 : Convert.ChangeType(oValue, typeof(T)));
                gridView.ShowFooter = true;
                gridView.FooterRow.HorizontalAlign = HorizontalAlign.Right;
                gridView.FooterRow.Cells[cellIndex].Text += String.Format(DispHTMLFormat, String.Format("{0}", value.ToString(format, null)));
            }        public void Total<T>(String totalFld, Int32 cellIndex) where T : struct, IFormattable
            {
                Total<T>(totalFld, cellIndex, null);
            }        /// <summary>
            /// 汇总Grid某一列的数据
            /// </summary>
            /// <param name="grd">gridView</param>
            /// <param name="totalFld">要汇总的字段</param>
            /// <param name="cellIndex">要显示的单元格索引</param>
            public static void TotalInfo(GridView grd, String totalFld, Int32 cellIndex)
            {
                GridViewTotaller totaller = new GridViewTotaller(grd);
                totaller.Total<Decimal>(totalFld, cellIndex, "N2");
            }
        }
      

  6.   

    循环狗日的girdview每一行,把那个money列的值累加
      

  7.   

    Rows.Count-1
    Rows[0].Cells.Count-1