有表如下:
产品    型号    数量
Nokia   7610    2
Nokia   6110    3
Moto    A1200   5
Moto    V3i     6想要在vs2005的datagrid中显示如下:
产品   型号    数量
Nokia   7610    2
Nokia   6110    3
小计            5
Moto    A1200   5
Moto    V3i     6
小计            11
合计            16不知如何处理,直接用sql语句可解决吗?

解决方案 »

  1.   

    DataGrid控件估计是不能直接实现楼主想要的功能的。如果一定要实现这样的数据显示话,我的思路如下,楼主可参考一下:
    1,在数据库中建立视图,统计好相应数据
    2,根据想要显示的数据,一边读取一边动态生成Table(3列,小计、合计第2列数据为空)
    3,DataGrid数据源指定为上述Table
      

  2.   

    可以实现,先用带分组统计SQL,再在DataGrid绑定数据时的事件里判断一下就行了
      

  3.   

    写错了,是 RowDataBound,将结果放在Footer
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            string number;
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                //处理数据行
            }
            else if(e.Row.RowType == DataControlRowType.Footer)
            {
    //如下处理页脚的示例
                e.Row.Cells.Clear();
                TableCell tc = new TableCell();
                tc.Width = GridView1.Width;
                tc.ColumnSpan = 2;
                e.Row.Cells.Add(tc);
                e.Row.Cells[0].Text = "本页共查询出" + GridView1.Rows.Count.ToString() + "条记录";
            }
        }
      

  4.   

    接上
    1.在处理数据行的时候,获取每一行的数量字段的值,用一个全局变量保存和
    2.这样在处理Footer行的时候就显示这个全局变量的值。
      

  5.   

    daishengs(横舟摆渡):
    能写具体的代码参考下吗?