如何从SQL查询构建有序列表

时间:2016-03-03 22:06:11

标签: jquery sql-server vb.net

我正在尝试构建一个where-user查看器,通过获取sql数据来查看html页面的材料清单。我有sql连接工作,我的html表生成器工作,并将用户输入传递给工作参数和递归sql查询以获取每个父。不幸的是,输出随着每个父母的增长而增长,这有点令人困惑。为了解决这个问题,我希望每个父项在单击时展开,并在单击时压缩。

我的搜索已经产生了我应该从sql查询中获取所有数据,并以某种方式将其构造成一种格式以生成有序列表。使用有序列表,您可以利用一些jquery与用户进行交互。

我正在寻求如何将动态sql结果输出到有序列表的建议?使用vb.net,aspx,sql server。

最小表输出读数......

ChildID:ParentID

1 个答案:

答案 0 :(得分:0)

您可以设置查询以获取预先格式化的HTML代码。 像这样:

SELECT CAST('<li class="Collapseble"> <span class="IDParent">' + cast(compras.IDCompras as nvarchar(max)) 
+ '</ span>' as nvarchar(max) ) +  
(STUFF(
        (SELECT 
        CAST('\<div class="ResultSet"><span class="IDMaterial">IDMaterial: ' as nvarchar(max))  
            + cast([idmaterial] as nvarchar(max)) + cast('</span>' AS VARCHAR(MAX))
        , CAST('<span class="Quantidade">Quantidade: ' + cast([quantidade] as nvarchar(max)) 
            + '</span> </div>' AS VARCHAR(MAX)) 
        FROM DetalheCompra 
        WHERE (IDCompras = compras.idcompras) 
        FOR XML PATH, TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '')) + '</li>'
    AS Detalhes

FROM compras

结果集如下:

<li class="Collapseble"> <span class="IDParent">16</ span><div class="ResultSet"><span class="IDMaterial">IDMaterial: 29</span><span class="Quantidade">Quantidade: 150.00</span> </div></li>
<li class="Collapseble"> <span class="IDParent">17</ span><div class="ResultSet"><span class="IDMaterial">IDMaterial: 27</span><span class="Quantidade">Quantidade: 2.00</span> </div>\<div class="ResultSet"><span class="IDMaterial">IDMaterial: 29</span><span class="Quantidade">Quantidade: 1.00</span> </div></li>
<li class="Collapseble"> <span class="IDParent">1016</ span><div class="ResultSet"><span class="IDMaterial">IDMaterial: 27</span><span class="Quantidade">Quantidade: 20.00</span> </div></li>

然后,您只需实现jQuery功能即可折叠或展开<li>元素。

这是关于你在寻找什么?