首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于DataGrid显示列的有关问题~

2012-03-01 
关于DataGrid显示列的问题~!SQL数据表字段→ 项目ID月份项目值数据→11月12月13月14月15月16月17月18月19月1

关于DataGrid显示列的问题~!
SQL数据表

字段→ 项目ID 月份 项目值
数据→ 1 1月
  1 2月
  1 3月
  1 4月
  1 5月
  1 6月
  1 7月
  1 8月
  1 9月
  1 10月
  1 11月
  1 12月
  2 1月
  2 2月
  2 3月
  2 4月
  1 5月
  ……
表中数据大概就这样。
现在希望把月份这个字段的数据做为列。绑定到DataGrid.
显示成这样
  项目名 一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月
  1
  2
  3
  4
  ……

列是从1月到12月都做为\。。
现在的问题是,一个项目ID对应12条记录,所以有很多个1月12月...
不知道咋办...
 望高手帮忙解决下。 ...在线等...~! 急救....


[解决办法]
手动建立12个月份的列
然后在数据绑定时检索项目ID和对应的月份成立的项目值
[解决办法]
最好先用sql实现,再连接数据。 用视图或存储过程比较方便
[解决办法]
这是一个明显的行转列的SQL题目。。
可以如下:

SQL code
create table kkk(项目id int,月份 varchar(10),项目值 int)insert into kkk select 1,'1月',1insert into kkk select 1,'2月',2insert into kkk select 1,'3月',3insert into kkk select 1,'4月',4insert into kkk select 1,'5月',5insert into kkk select 1,'6月',6insert into kkk select 1,'7月',7insert into kkk select 1,'8月',8insert into kkk select 1,'9月',9insert into kkk select 1,'10月',10insert into kkk select 1,'11月',11insert into kkk select 1,'12月',12insert into kkk select 2,'1月',21insert into kkk select 2,'2月',22insert into kkk select 2,'3月',23insert into kkk select 2,'4月',24insert into kkk select 2,'5月',25insert into kkk select 2,'6月',26insert into kkk select 2,'7月',27insert into kkk select 2,'8月',28insert into kkk select 2,'9月',29insert into kkk select 2,'10月',30insert into kkk select 2,'11月',31insert into kkk select 2,'12月',32创建存储过程:create proc wsaaasdeclare @sql varchar(8000)set @sql='select  项目id'select @sql=@sql+',['+月份+']=sum(case 月份 when '''+ 月份 + ''' then 项目值 else 0 end)' from kkk group by 月份 print @sqlset @sql=@sql+' from kkk group by 项目id 'exec(@sql)调用存储过程exec wsaa 

热点排行