html - 动态填充多列并使列均匀

标签 html sql-server-2008 asp-classic

如果这个问题已经得到解答,我深表歉意(我确信它已经在某个地方)。我正在寻找一种方法来动态填充数据库中的一组列,同时保持它们均匀(或接近)。我使用 asp classic 和 SQL Server 2008 来获取数据。

下面的示例适用于 2 列,只是为了保持简单。我正在考虑找到一种方法来检查我选择的数据条目数并除以 2 以均匀地填充列。如果条目数大约为 13,那么第一列将有 7,第二列将有 6。我对 asp 和 javascript 相当陌生,所以没有什么真正让我感到惊讶。任何正确方向的帮助或指导将不胜感激。谢谢。

<html >
<head>

<style type="text/css">
    ul#list { list-style-type: none; }
</style>

</head>
<body>

<table border="0" cellspacing="0" cellpadding="0" width="100%" >
    <tr>
        <div>
            <td>
                <div style="float: left; width:30%;">
                    <ul id="list">                            
                        <li>Left Item 1</li>            
                        <li>Left Item 2</li>            
                        <li>Left Item 3</li>            
                        <li>Left Item 4</li>            
                        <li>Left Item 5</li>            
                    </ul>                           
                </div>

                <div style="float: left; width:30%;">
                    <ul id="list" >                            
                        <li>Middle Item 1</li>          
                        <li>Middle Item 2</li>          
                        <li>Middle Item 3</li>          
                        <li>Middle Item 4</li>          
                        <li>Middle Item 5</li>          
                    </ul>                           
                </div> 

            </td>
     </tr>
 </table>    

</body>    
</html>

最佳答案

更新:如果其他人想知道,这就是我最终所做的。我使用 Row Offset in SQL Server 中的方法.

我得到了返回的总行数

SELECT COUNT(*) AS 表 1 中的计数 ... 然后将它们均匀地分配到各列中。

我有 3 列,因此我将总计数除以 3,并使用此处描述的 RoundUp 函数将第一列向上舍入 http://www.bennysutton.com/Active-Server-Pages/Round-Up-Numbers.aspx

TotalCount = Query01.Fields.Item("count").Value
FirstColumn = RoundUp(TotalCount / 3 , 0)
NewTotalCount = TotalCount - FirstColumn
SecondColumn = TotalCount - NewTotalCount 
ThirdColumn = TotalCount - (FirstColumn + SecondColumn)

然后我将构建行偏移 Query02,将 @startRow 和 @endRow 更改为上面的值。从 1 到 FirstColumn,然后 (FirstColumn + 1) 到 (FirstColumn + SecondColumn) 等等......

为了回答@Vogel612,我想从上到下从左到右填充第一列,然后是第二列等等。

<table border="0" cellspacing="0" cellpadding="0" width="100%" >
    <tr>
     <div>
       <td>
         <div style="float: left; width:30%;">
           <ul id="list">
           <%Do Until Query02.EOF
                Response.Write"<li> " & Query02.Fields.Item("foo") & " </li>"
            Query02.MoveNext
            LOOP
           Query02.Close%>                            
          </ul>
            <ul id="list">
               etc.....
            </ul> 
         </div>
       </td>
      </tr>
 </table>

我还看到了 id="list"的问题。我试图这样做是为了摆脱要点。

关于html - 动态填充多列并使列均匀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18601179/

相关文章:

android - 使用 Persits 的邮件发件人和主题字符编码

javascript - 如何在 child 悬停时停用 parent 的头衔?

json - 我如何识别这种类似 JSON 的数据结构?

sql - TSQL: "IN"子句中的 NULL

sql-server - 将数据库从 2008 R2 转移回 2005

asp.net-mvc - MVC 框架可以用于当前使用 ASP .NET 的 Web 应用程序吗?

javascript - 悬停在按钮上时如何影响不同的类或 HTML 元素?

javascript - 在鼠标上输入输入字段展开

html - 如何消除与位置 :relative banner 的差距

mysql - ASP MYSQL 错误,SQL 语句末尾缺少分号 (;)。到处都试过