如果这已经得到回答,我道歉(我确定它已经在某处)。我正在寻找一种方法来动态填充数据库中的一组列,同时保持它们均匀(或关闭)。我正在使用asp经典与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>
答案 0 :(得分:2)
更新:如果其他人想知道,这就是我最终做的事情。我在Row Offset in SQL Server中使用了这种方法。
我得到了返回的总行数
SELECT COUNT(*)来自table1的AS计数... 然后在列中平均分配它们。
我有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)
然后我将构建Row Offset 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”的问题。我试图摆脱这些要点。