1

我想显示如下项目,

<td1>     <td2>     <td3>     <td4>
1          7         13        19
2          8         14        20
3          9         15        21
4          10        16        22
5          11        17        23
6          12        18        

我正在从数据库的单个列中获取数据(来自 1......23)。现在我想运行一个循环,它将以上述格式显示我的单列数据。请告诉我用于以上述格式显示数据的 for 循环代码。在生产环境中数据可以超过23,所以逻辑应该是它可以处理任何数量的数据。我正在使用 ASP.NET(C#)。

谢谢

4

3 回答 3

3

我认为您可以使用 asp:DataList 并将数据绑定到它。
下面是使用具有RepeatDirection和 RepeatColumns 属性的 datalist 的示例。

于 2009-01-25T14:21:52.847 回答
2

在伪代码中(没有测试):

int recordnum=....; //get the total number of records
int col_length=recordnum/4;

for(int i=0;i<col_length;i++)
{ for(int j=0;j<4;j++)
    print data[i+j*col_length] ;
  print "\n";
}
于 2009-01-25T14:11:01.167 回答
2

好的,这是 Riho 循环的更正版本:

int records = ... ;                     /* the number of records */
int cols = 4;                           /* the number of columns */
int rows = (records + cols - 1) / cols; /* nb: assumes integer math */

for (int row = 0; row < rows; ++row) {

    print "<tr>";

    for (int col = 0; col < cols; ++col) {

        print "<td>";

        int offset = col * rows + row;
        if (offset < records) {
            print data[offset];
        } else {
            print "nbsp;" /* nb: should have an & but markdown doesn't work */
        }

        print "</td>";
    }

    print "</tr>";
}

通常需要该&nbsp;单元格来确保呈现的 HTML 单元格具有正确的背景。缺失的单元格或其中没有数据的单元格不会与正常单元格一样呈现。

于 2009-01-25T15:10:03.170 回答