C# 在asp.net中显示表中的记录

C# 在asp.net中显示表中的记录,c#,asp.net,datareader,C#,Asp.net,Datareader,我正在使用上述代码打印表中的数据。但所有字段都在一行中(行不递增)。您能告诉我如何显示多行吗。目前,您正在创建一行和一个单元格,并将所有控件添加到该单元格中 虽然您想要的内容当然是可能的(只需确保为从读取器中提取的每个数据元素创建一个新单元格,并为While循环中的每个迭代创建一个新行),但您不使用类似于a的内容来表示此内容是否有原因?为每一行创建一个TableRow的新实例。在遍历resultset之前,只需创建一个实例。将TableCell和TableRow变量的构造移动到顶部WHILE循环

我正在使用上述代码打印表中的数据。但所有字段都在一行中(行不递增)。您能告诉我如何显示多行吗。

目前,您正在创建一行和一个单元格,并将所有控件添加到该单元格中


虽然您想要的内容当然是可能的(只需确保为从读取器中提取的每个数据元素创建一个新单元格,并为While循环中的每个迭代创建一个新行),但您不使用类似于a的内容来表示此内容是否有原因?

为每一行创建一个TableRow的新实例。在遍历resultset之前,只需创建一个实例。

将TableCell和TableRow变量的构造移动到顶部WHILE循环中。这样,您将为读取器中的每条记录获得一个新行和一个新单元格

考虑如下代码(注释是我的):


是的,我没有使用GridView,因为我想在每一行的rightnost单元格中使用下拉列表。但是我遇到了问题。因此,尝试改用tables。你能帮助我如何在这里的table单元格中打印下拉列表吗?你可以利用
GridView
中的一列来实现这一点。有一个相当好的教程可用。
        conn.Open();

        TableRow r = new TableRow();
        TableCell c = new TableCell();

        SqlDataReader reader = comm.ExecuteReader();


          while (reader.Read())
        {
              c.Controls.Add(new LiteralControl(reader["Name"].ToString()));
                r.Cells.Add(c);
                Table1.Rows.Add(r);

                c.Controls.Add(new LiteralControl(reader["RollID"].ToString()));
                r.Cells.Add(c);
                Table1.Rows.Add(r);
        }
    conn.Open();

    // MOVE THESE
    /**
    TableRow r = new TableRow();
    TableCell c = new TableCell();
    **/

    SqlDataReader reader = comm.ExecuteReader();


      while (reader.Read())
    {

          // TO HERE..  so that a new row and cell are created for each record in your reader
          TableRow r = new TableRow();
          TableCell c = new TableCell();

          c.Controls.Add(new LiteralControl(reader["Name"].ToString()));
            r.Cells.Add(c);
            //Table1.Rows.Add(r);   -- ADD THE ROW AFTER THE SECOND FIELD... THEN YOU HAVE 2 COLUMNS

            c.Controls.Add(new LiteralControl(reader["RollID"].ToString()));
            c = new TableCell(); // CREATE A NEW CELL, FOR A NEW COLUMN
            r.Cells.Add(c);
            Table1.Rows.Add(r);
    }