1

.aspx ファイルに次のコードがあります

<asp:Table ID="tabStudent" runat="server"></asp:Table>

以下で使用したすべての変数を宣言しました。loadページイベントに次のコード スニペットを記述しました。しかし、データベースの最後の行を持つ行が 1 つしか表示されません。しかし、これらの値に対してこのwhileループ内でメッセージ ボックスを使用printすると、すべての行が取得されます。

Reader = Command.ExecuteReader()
While Reader.Read()
    lblRollNo.Text = Reader.Item(0)
    lblName.Text = Reader.Item(1)
    lblDob.Text = Reader.Item(2)
    tcRollNo.Controls.Add(lblRollNo)
    tcName.Controls.Add(lblName)
    tcDob.Controls.Add(lblDob)
    TableRow.Cells.Add(tcRollNo)
    TableRow.Cells.Add(tcName)
    TableRow.Cells.Add(tcDob)
    tabStudent.Rows.Add(TableRow)
End While

このコードの何が問題になっていますか?

4

1 に答える 1

1

ループで新しいコントロールを作成していませんが、常に同じものを再利用しています。

While Reader.Read()
    TableRow = New TableRow()
    lblRollNo = New Label()
    tcRollNo = New TableCell()
    ' and so on ...
    lblRollNo.Text = Reader.Item(0)
    lblName.Text = Reader.Item(1)
    lblDob.Text = Reader.Item(2)
    tcRollNo.Controls.Add(lblRollNo)
    tcName.Controls.Add(lblName)
    tcDob.Controls.Add(lblDob)
    TableRow.Cells.Add(tcRollNo)
    TableRow.Cells.Add(tcName)
    TableRow.Cells.Add(tcDob)
    tabStudent.Rows.Add(TableRow)
End While
于 2013-01-10T12:44:32.687 に答える