日期:2014-05-18  浏览次数:20556 次

没分了,请教数据绑定问题,谢谢
表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 >