如何以表格格式显示单列数据?

时间:2009-01-25 13:58:16

标签: asp.net loops

我想按以下方式显示项目,

<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#)。

由于

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分: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";
}

答案 2 :(得分: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单元格具有正确的背景。丢失的细胞或没有数据的细胞不会与正常细胞相同。