我有几个表,打算用控件来生成表格,表一,表二主要结构见下
表一:
city_id    city
1           SH
2           BJ
3           SZ
4           GZ表二:
id   city_id money   date
1     1      20     2007-01-20
2     1      50     2007-02-04
3     2      20     2007-11-25
4     2      10     2007-05-14
5     3      60     2007-08-18现在要生成这样的表,如何绑定(用Html形式我会,用控件不会)
表头是几个城市名,就算表二没有这个城市也要有的
根据表二的date分别计算每个城市的money之和(下表xxx表示)     SH   BJ   SZ    GZ
一月 xxx  xxx  xxx   xxx
二月 xxx  xxx  xxx   xxx
...
十二月xxx xxx  xxx   xxx 在用gridview时有几个问题,增加列绑定时的BoundField怎么用一个sql语句来表示以便可以自动生成按月份的时间数据,还是用datatable来绑定?!怎么做??请指教,谢谢!!!

解决方案 »

  1.   

    我认为,有两种方式可以实现上述要求。
    一、利用存储过程,输出需要的表式
        (可能会涉及到游标)
    二、用程序方式,将表2的DataTable改造成需要的表式(DataTable)---------------------------------
    抛砖引玉,希望有更多的Idea
      

  2.   

    参考
    http://blog.csdn.net/21aspnet/archive/2007/03/25/1540301.aspx
      

  3.   

    一月  二月 三月  十二月
    SH xxx  xxx  xxx   xxx
    BJ xxx  xxx  xxx   xxx
    ...
    SZ xxx  xxx  xxx   xxx获得数据时用 CITY 分组
      

  4.   

    在将两个表的数据组成一个 DataTable,同存储过程或者程序都是可以的,这样的需求,我们通常称之为 “交叉表”UI输出应该交由 DataGrid/GridView 之类的控件去完成,也就说,你应该在 DataTable 组织好目标数据的格式,而不要去绑定到控件上之后,再准备 ItemDataBound RowDataBound 之类的事件中处理
    如何绑定(用Html形式我会,用控件不会)
    ========
    那我就不明白了,既然会 html,为什么不会?那么将两个DataTable 合并到一个 DataTable(目标格式,城市作为表头/列名)会吧?
      

  5.   

    我认为,有两种方式可以实现上述要求。
    一、利用存储过程,输出需要的表式
        (可能会涉及到游标)
    二、用程序方式,将表2的DataTable改造成需要的表式(DataTable)正解!
      

  6.   

    偶决的用SQL存储过程生成一个
       SH   BJ   SZ    GZ
    一月 xxx  xxx  xxx   xxx
    二月 xxx  xxx  xxx   xxx
    ...
    十二月xxx xxx  xxx   xxx 
    类似的表GirdView列绑定动态在后台根据SQL存储过程返回的datetable来绑定
      

  7.   

    你把SQL列AS每个城市名,在自动生成GRIDVIEW列不就行了
      

  8.   

    很早以前帮人做这个这个,是用SQL解决的