订单号   商品名  单价     数量  金额
001        aa     11.00    2     22.00
001        bb     2.00     2      4.00
001        cc     3.00     3      9.00----------------------合计 7     35.00002        ee     11.00    2     22.00
002        bb     3.00     2      6.00
002        cc     3.00     3      9.00----------------------合计 7     37.00
                     总计14     72.00每个单号分一个小结,能实现吗?最后在底下实现总的合计

解决方案 »

  1.   

    可以的,cxGrid的功能比你想象的还要强大。
    1.你先放一个cxGrid,设置好View,设置View.DataController连接的DataSource
    2.激活DataSource连接的DataSet,双击cxGrid,点击Retrieve Fields,取得所有的Column
    3.设置View的OptionsView.Footer=True,OptionsView.GroupFooters=True,这是为了把分组小计和总计面板显示出来
    4.将“订单号”字段拖到cxGrid上方的分组面板(GroupbyBox),将数据按“订单号”分组。这时你会发现单身所有的数据都缩起来了,如果想使所有的数据都展开,可以设置View.DataController.Options.dcoGroupsAlwaysExpanded=True
    5.设置分组小计:把View.DataController.Summary.DefaultGroupSummaryItems点开,新增一个Item,Column属性在下拉里选择“数量”字段,FieldName属性为空,Format属性可以设置数值的显示格式,Kind属性下拉skSum加总,Position属性一定要选择spFooter。
    6.设置总计:把View.DataController.Summary.FooterSummaryItems点开,新增一个Item,Column属性在下拉里选择“数量”字段,FieldName属性为空,Format属性可以设置数值的显示格式,Kind属性下拉skSum加总,Position属性一定要选择spFooter。
    大功告成,按F9看一下胜利果实吧。再奉送一个技巧,在Form1再放一个TcxGridPopupMenu控件,就在cxGrid控件旁边的那个,把TcxGridPopupMenu的Grid属性设置成你的cxGrid。
    然后运行程序,在运行状态,点击Grid上的所有地方,左键或右键,你都会有意外收获。ExpressQuantumGrid控件实在是太复杂,太庞大,最好的了解它的方法就是查帮助。