当前位置: 代码迷 >> ASP.NET >> 没分了,请问数据绑定有关问题,多谢
  详细解决方案

没分了,请问数据绑定有关问题,多谢

热度:2928   发布时间:2013-02-25 00:00:00.0
没分了,请教数据绑定问题,谢谢
表A 有四个字段:ID(自动编号),球,盒子,数量
记录如下:
1 小球 红盒子中 3个
2 小球 黄盒子中 2个
3 小球 蓝盒子中 5个
================
我应该如何编写查询语句或使用何种数据绑定才能得到以下显示结果?
================
红盒子中 黄盒子中 蓝盒子中
3个 2个 5个

------解决方案--------------------------------------------------------

sql = "SELECT 盒子,SUM(数量) FROM TABLE BROUP BY 盒子"

<asp:Repeater id="repList" runat="server">
<HeaderTemplate>
<table>
<tr>
</HeaderTemplate>
<ItemTemplate>
<td>
<table >
<tr><td>绑盒子</td></tr>
<tr><td>绑数量</td></tr>
</table>
</td>
</ItemTemplate>
<FooterTemplate>
</tr>
</table>
</FooterTemplate>
</asp:Repeater>
------解决方案--------------------------------------------------------
如果是统计好的,按照你的格式最好用DataList绑定,然后把RepeatColumns属性设置为 3
<asp:datalist id="dlRecRes" runat="server" Width="90%" CellPadding="0" RepeatColumns="3"><ItemTemplate>
<table border="0">
<tr>
<td>绑定盒子<td>
</tr>
<tr>
<td>绑定数量<td>
</tr>
</table>
</ItemTemplate>
</asp:datalist>
------解决方案--------------------------------------------------------
应该是利用行转行吧,我测试了一下,可以实现
SQL code
SELECT         ISNULL(SUM(CASE [box] WHEN '红盒子中' THEN [Sum] END), 0) AS [红盒子],     ISNULL(SUM(CASE [box] WHEN '黄盒子中' THEN [Sum] END), 0) AS [黄盒子],     ISNULL(SUM(CASE [box] WHEN '蓝盒子中' THEN [Sum] END), 0) AS [绿盒子] FROM (     SELECT         [box],         sum(number) AS [Sum]     FROM         [test1]     GROUP BY         [box] )AS [Temp]
------解决方案--------------------------------------------------------
symbol441

如果盒子是不确定的!
怎可以那样。

就按盒子分组,计算总数!
然后绑定!这样才比较合理的
sql = "SELECT 盒子,SUM(数量) FROM TABLE BROUP BY 盒子" 

<asp:Repeater id="repList" runat="server" > 
<HeaderTemplate > 
<table > 
<tr > 
</HeaderTemplate > 
<ItemTemplate > 
<td > 
<table > 
<tr > <td >绑盒子 </td > </tr > 
<tr > <td >绑数量 </td > </tr > 
</table > 
</td > 
</ItemTemplate > 
<FooterTemplate > 
</tr > 
</table > 
</FooterTemplate > 
</asp:Repeater >
  相关解决方案