您的位置:程序门 -> .net技术 -> c#



datagrid 增加一行的问题 急!!!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


datagrid 增加一行的问题 急!!!
发表于:2008-01-21 17:35:00 楼主
比如datagrid的内容如下:

编号           姓名           金额
1               张三           20
2               李四           30
3               王五           40

我想通过手动添加一行显示一些汇总信息   例如在记录的最后添加一行合计

编号           姓名           金额
1               张三           20
2               李四           30
3               王五           40

合计                             70                      
发表于:2008-01-21 17:41:481楼 得分:0
你fill完后
可以在给datatable在添加一行。
发表于:2008-01-21 17:43:322楼 得分:0
ds.tables[0].compute("sum(金额)",   "true")
然后把值输出,或者在itemdatabound事件里进行统计,如:
private   decimal   sum;
private   void   mydatagrid1_itemdatabound(object   sender,   system.web.ui.webcontrols.datagriditemeventargs   e)
{
if   (e.item.itemindex   > =   0)
{
//取指定列的数据总和
sum   +=   decimal.parse(e.item.cells[2].text); }
else   if   (e.item.itemtype   ==   listitemtype.footer)
{
//在页脚中添加指定列的总和和平均值
e.item.cells[1].text   =   "合计:   ";
e.item.cells[2].text   =   sum.tostring("f2"); }
}
发表于:2008-01-21 17:45:383楼 得分:0
  protected   void   page_load(object   sender,   eventargs   e)
        {
                gridview1.datasource   =   gettable();
                gridview1.databind();
        }

        private   datatable   gettable()
        {
                datatable   dt   =   new   datatable();
                dt.columns.add("id",   typeof(string));
                dt.columns.add("name",   typeof(string));
                dt.columns.add("money",   typeof(string));

                datarow   row   =   dt.newrow();
                row["id"]   =   "1";
                row["name"]   =   "aaaa";
                row["money"]   =   "20";
                dt.rows.add(row);

                datarow   row1   =   dt.newrow();
                row1["id"]   =   "2";
                row1["name"]   =   "bbbb";
                row1["money"]   =   "30";
                dt.rows.add(row1);

                datarow   row2   =   dt.newrow();
                row2["id"]   =   "machao";
                row2["name"]   =   "cccc";
                row2["money"]   =   "40";
                dt.rows.add(row2);

                datarow   row3   =   dt.newrow();
                row3["id"]   =   "合计";
                row3["name"]   =   "";
                row3["money"]   =   "70";
                dt.rows.add(row3);

                return   dt;
        }

隨便寫了個,看看
发表于:2008-01-21 17:47:574楼 得分:0
用列自动合计就可以的,如2楼据示,向上添加方法如3楼所示,俺就不说啦,呵呵
发表于:2008-01-22 14:22:225楼 得分:0
谢谢楼上的朋友!!!

我写的是winform程序   事件里没有itemdatabound属性,itemdatabound不是只有web才有这个属性吧

请问如何解决  
发表于:2008-01-23 18:00:356楼 得分:0
没有itemdatabound.......有databind事件都行


快速检索

最新资讯
热门点击