日期:2014-05-19  浏览次数:20403 次

求一个在C#中合计动态列行的值给新创建的列行中显示
求一个在C#中合计动态列行的值给新创建的列行中显示

              ...前面DataSet部分略去不写
                for   (int   i   =   0;   i   <   ms.Length;   i++)
                {
                        mser   =   ms[i].Split( '# ');
                        BoundField   bf1   =   new   BoundField();
                        bf1.HeaderText   =   "销量 ";
                        bf1.DataField   =   "a "   +   mser[0];
                        this.GridView1.Columns.Add(bf2);
                }

                BoundField   bf3   =   new   BoundField();
                bf3.HeaderText   =   "销量合计 ";
                bf3.DataField   =   " ";

                this.GridView1.Columns.Add(bf3);

                this.GridView1.DataSource   =   ds.Tables[0].DefaultView;
                this.GridView1.DataBind();

说明:如上代码   "a "   +   mser[0]   是配合数据库中动态的字段名,现在想把每行的销量值合计显在新创建的列“销量合计”中,(由于某种原因这个合计不能在存储过程里做)请大家出下手

------解决方案--------------------
在datatable中做就可以。 ds.Tables[0].Columns.Add( "total ",typeof(decimal), "sum(销量字段) ");
------解决方案--------------------
哦,上面我搜索的不对。

行的合计你写个函数从ds.Tables[0]里计算不行吗?
------解决方案--------------------
if(e.Item.ItemType==ListItemType.footer)
{
int per = Convert.ToInt32(e.Item.Cells[0].Text);
sum+=per;
e.item.cells[0].Text=sum;
}