数据库中表如下:
类型 品牌 型号 价格
笔记本 IBM 型号111 20000
笔记本 IBM 型号112 22000
笔记本 HP 型号211 15000
台式机 联想 型号411 4000
台式机 联想 型号412 4100
台式机 TCL 型号511 5000
服务器 IBM 型号711 40000
服务器 IBM 型号712 50000想在窗体上显示以下效果
类型 品牌 机型 价格 数量 总价
笔记本 IBM 型号111 20000 (手动输入)30 600000
笔记本 IBM 型号112 22000 (手动输入)20 440000
笔记本 品牌合计 (自动计算)50 1040000
笔记本 HP 型号211 15000 (手动输入)25 440000
笔记本 品牌合计 (自动计算)25 440000
笔记本 类型合计 (自动计算)75 1480000
台式机 联想 型号411 4000 (手动输入)300 1200000
台式机 联想 型号412 4100 (手动输入)300 1230000
台式机 品牌合计 (自动计算)600 2430000
台式机 TCL 型号511 5000 (手动输入)200 1000000
台式机 品牌合计 (自动计算)200 1000000
台式机 类型合计 (自动计算)800 3430000
服务器 IBM 型号711 40000 (手动输入)3 120000
服务器 IBM 型号712 50000 (手动输入)5 250000
服务器 品牌合计 (自动计算)8 370000
服务器 类型合计 (自动计算)8 370000先按同类型同品牌的进行品牌合计,如:
笔记本 品牌合计 (自动计算)50 1040000
再将所有品牌合计的值再进行类型合计,如:
笔记本 类型合计 (自动计算)75 1480000
品牌合计的数量与总价值为该品牌数量总价之和.
类型合计的数量与总价值为该类型的品牌数量合计、总价合计之和.
其它行如:
笔记本 IBM 型号112 22000 (手动输入)20 440000
则是手动输入数量后自动计算总价。请大家帮帮忙,谢谢了~~~

解决方案 »

  1.   

    Sample code as follows:
    yourDataTable.Columns.Add( "总价", typeof( int ), "价格 * 数量" );
      

  2.   

    至于汇总,你可以如下
    object objResult = yourDataTable.Compute( "Sum( 数量 )", "类型 = '笔记本' AND 品牌='IBM'" );
    Debug.WriteLine( objResult.ToString() );
      

  3.   

    用DataTable 把数据内容和形式生成在datatable中,然后读出。
      

  4.   

    用DATAGRID可以不?怎么样实现在DATAGRID的网格中输数量然后直接计算?
      

  5.   

    to 用DATAGRID可以不?怎么样实现在DATAGRID的网格中输数量然后直接计算?可以,但是汇总需要手动处理。
      

  6.   

    object objResult = yourDataTable.Compute( "Sum( 数量 )", "类型 = '笔记本' AND 品牌='IBM'" );
    这个要怎么体现在DATAGRID里?
      

  7.   

    请参见SQL Server的Cube和Rollup关键字
      

  8.   

    还是没法实现
    类型 品牌 机型 价格 数量 总价
    笔记本 IBM 型号111 20000 (手动输入)30 600000
    笔记本 IBM 型号112 22000 (手动输入)20 440000
    笔记本 品牌合计 (自动计算)50 1040000
    笔记本 HP 型号211 15000 (手动输入)25 440000
    笔记本 品牌合计 (自动计算)25 440000
    笔记本 类型合计 (自动计算)75 1480000
    这种效果...
    汇总行只能添到最后一行,怎么添加到中间行呢,比如一个品牌完了就添加一行品牌汇总,一个类型完了再添加一条类型汇总...
      

  9.   

    一部分在数据库一层通过Sql语句进行计算返回,
    一部分通过ADO.NET 中的表达式来实现。
    http://www.microsoft.com/china/MSDN/library/data/dataAccess/ADONETEXP.mspx
      

  10.   

    select 类型,品牌,型号,价格 from (
    select 1 as num,test.* from test
    union
    select 2 as num ,类型 ,品牌 + '小计','',sum(价格) from test group by 类型,品牌
    union
    select 3 as num ,类型+'合计','','',sum(价格) from test group by 类型) as a  order by 类型,品牌,num