如何实现可变顺序表头左右列的变换(安统计数排左右表列) 搜一搜:SQL行转列另,你表1根本没有任何存在的意义除非表2里不要直接存产品名,而是存编号 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select日期,max(case产品when'HPA'then数量else0end)HPA,max(case产品when'AC'then数量else0end)AC,max(case产品when'HPT'then数量else0end)HPT,max(case产品when'HCD'then数量else0end)HCD,sum(数量)合计from 表2groupby日期这里的HPT,HCD等等都是个例子,具体你得去遍历表1去循环,转换完之后在根据时间去查询你试试吧,一起坐等大神 Sql上问题不大,难的是在前台页面显示读取时表头,名怎么动态呢根据数据查那个左右排序,那个在前那个排在后,都是动态的!第一列日期,没有问题,到了第二列,事先不知道第二列是那个产品,第三列,就不知怎么绑定了怎么用repeater ,或gridview...这些控件来给它显出出来? 表1 编号 产品名1 HPT2 HPA3 HCD4 AC。表二 日期 数量 产品2015-1-2 10 HPA2015-1-2 6 HPT2015 -1-3 7 HCD2015-1-3 3 HPT2015-1-3 20 AC2015- 1-3 5 HPA2015-1-4 10 HPA。显示效果查询条件查一天 日期从[2014-1-2]到[2014-1-2] 得下表并显示 日期 HPA HPT HCD AC 合计2014-1-2 10 6 0 0 16合计 10 6 0 0 16查询条件查几天 日期从[2014-1-2]到[2014-1-4] 日期 HPA AC HPT HCD 合计2014-1-2 10 0 6 0 162014-1-3 5 20 3 7 452014-1-4 10 0 0 0 10合计 25 20 9 7 61重点在于用repearter gridview ...用什么能实现显示成这个表 表头动态! 第一个方法:有个傻瓜的方法(不推荐,但容易实现)在aspx文件上写<%if(是一天的){%> 日期 HPA HPT HCD AC 合计 //用repearter去弄还是怎么弄你自己定了。<%}else{%>日期 HPA AC HPT HCD 合计 //用repearter去弄还是怎么弄你自己定了。<%}%>上面两个的repeater的ID都一样就好了,这样后台的repeater绑定都一样了第二个方法:后台直接判断是否一天,然后再输出整个table在前台例如.cs中 public string ShowTb(){ if(是一天的){ return "<table><tr><th> 日期</th><th>HPA</th></tr></table>" // 剩下的自己拼吧;}else{return "<table><tr><th>HPA</th><th> 日期</th></tr></table>" // 剩下的自己拼吧;}}然后前台调用这个方法。不过给我的话会用js去处理咯上面的方法挺傻瓜了,希望能帮到你 关于foreach泛型的问题 关于asp.net的Response.Write不输出问题 百分求答案,html代码从数据库读出来,在textbox中如何转换成表格信息 关于源代码管理的东东,求救~~~ 为什么有个提交按钮点击之后,Submit_Click()执行了两遍,第二遍结束后出现没有"可用于当前位置的源代码。"提示 跪求各位大侠解答,谢谢 新手问题 三层结构中,sql语句一般写在那一层比较好? 急!!!一个安装.net的问题 高手救命!ASP.NET连数据库问题 在access数据库中查询,结果有多条记录,希望返回其中一条 关于gridview分页展示的问题
这里的HPT,HCD等等都是个例子,具体你得去遍历表1去循环,转换完之后在根据时间去查询
你试试吧,一起坐等大神
怎么用repeater ,或gridview...这些控件来给它显出出来?
编号 产品名
1 HPT
2 HPA
3 HCD
4 AC
。表二
日期 数量 产品
2015-1-2 10 HPA
2015-1-2 6 HPT
2015 -1-3 7 HCD
2015-1-3 3 HPT
2015-1-3 20 AC
2015- 1-3 5 HPA
2015-1-4 10 HPA
。显示效果
查询条件查一天 日期从[2014-1-2]到[2014-1-2] 得下表并显示
日期 HPA HPT HCD AC 合计
2014-1-2 10 6 0 0 16
合计 10 6 0 0 16查询条件查几天 日期从[2014-1-2]到[2014-1-4]
日期 HPA AC HPT HCD 合计
2014-1-2 10 0 6 0 16
2014-1-3 5 20 3 7 45
2014-1-4 10 0 0 0 10
合计 25 20 9 7 61
重点在于
用repearter gridview ...用什么能实现显示成这个表 表头动态!
有个傻瓜的方法(不推荐,但容易实现)在aspx文件上写
<%if(是一天的){%>
日期 HPA HPT HCD AC 合计 //用repearter去弄还是怎么弄你自己定了。
<%}else{%>
日期 HPA AC HPT HCD 合计 //用repearter去弄还是怎么弄你自己定了。
<%}%>
上面两个的repeater的ID都一样就好了,这样后台的repeater绑定都一样了
第二个方法:
后台直接判断是否一天,然后再输出整个table在前台
例如
.cs中 public string ShowTb()
{
if(是一天的)
{
return "<table><tr><th> 日期</th><th>HPA</th></tr></table>" // 剩下的自己拼吧;
}
else
{
return "<table><tr><th>HPA</th><th> 日期</th></tr></table>" // 剩下的自己拼吧;
}
}
然后前台调用这个方法。
不过给我的话会用js去处理咯上面的方法挺傻瓜了,希望能帮到你