動的な配列コントロール2  次の文書

動的な配列コントロール1~5で完結します。

Partial Class comment
Inherits System.Web.UI.Page

Dim コメント親IDT() As String
Dim コメントlbl() As System.Web.UI.WebControls.Label
Dim コメントW改行1() As System.Web.UI.WebControls.Label
Dim コメントW改行2() As System.Web.UI.WebControls.Label
Dim コメントW改行3() As System.Web.UI.WebControls.Label
Dim コメントW改行4() As System.Web.UI.WebControls.Label
Dim コメントお名前() As System.Web.UI.WebControls.TextBox
Dim コメント返信内容() As System.Web.UI.WebControls.TextBox
Dim コメント見出1() As System.Web.UI.WebControls.Label
Dim コメント見出2() As System.Web.UI.WebControls.Label
Dim コメント親cnt As Integer = 0
Dim i As Integer = 0
Dim コメントtbl As System.Data.DataTable
Dim ブログIDRQ As String

Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
ブログIDRQ = Left(Request.QueryString("ID"), 6)
ブログNO.Text = ブログIDRQ
If ブログIDRQ = "" Then
Exit Sub
End If

コメント親cntGET()

If コメント親cnt > 1000 Then
コメント親cnt = 999
End If

ReDim コメント親IDT(コメント親cnt)
ReDim コメントlbl(コメント親cnt)
ReDim コメントW改行1(コメント親cnt)
ReDim コメントW改行2(コメント親cnt)
ReDim コメントW改行3(コメント親cnt)
ReDim コメントW改行4(コメント親cnt)
ReDim コメントlbl(コメント親cnt)
ReDim コメントお名前(コメント親cnt)
ReDim コメント返信内容(コメント親cnt)
ReDim コメント見出1(コメント親cnt)
ReDim コメント見出2(コメント親cnt)

Dim cn As New SqlConnection(ConfigurationManager.ConnectionStrings("LocalSqlServer").ToString())
cn.Open()

Dim tr As New TableRow
Dim tc As New TableCell
Dim コメント子内容 As String

Dim コメント親GET As New SqlCommand("SELECT * FROM DB_TBL_コメント親 WHERE ブログID=@pブログID and 削除=@p削除 ORDER BY 登録日 desc ,登録時間 desc", cn)
Dim pブログID As SqlParameter = コメント親GET.Parameters.Add("@pブログID", Data.SqlDbType.Char, 6)
Dim p削除 As SqlParameter = コメント親GET.Parameters.Add("@p削除", Data.SqlDbType.Char, 1)
pブログID.Value = ブログIDRQ
p削除.Value = "0"
Dim drコメント親 As SqlDataReader = コメント親GET.ExecuteReader()
i = -1
While drコメント親.Read()
i = i + 1

コメント子内容 = コメント子GET(drコメント親("コメントID"))

コメント親IDT(i) = drコメント親("コメントID")

コメントlbl(i) = New Label
Dim Wコメント As String = "<img border=0 src=gazoget3.aspx?ID=" & drコメント親("コメントID") & ">"
Wコメント = Wコメント & " " & drコメント親("コメントID") & " " & drコメント親("登録日") & " " & drコメント親("名前") & " " & drコメント親("コメント")
Wコメント = Wコメント & "<br>" & コメント子内容
コメントlbl(i).Text = Wコメント
tc.Controls.Add(コメントlbl(i))
tr.Cells.Add(tc)
コメントTable.Rows.Add(tr)


コメントW改行1(i) = New Label
コメントW改行1(i).Text = "<br>"
tc.Controls.Add(コメントW改行1(i))
tr.Cells.Add(tc)
コメントTable.Rows.Add(tr)

コメント見出1(i) = New Label
コメント見出1(i).Text = "お名前"
tc.Controls.Add(コメント見出1(i))
tr.Cells.Add(tc)
コメントTable.Rows.Add(tr)

コメントお名前(i) = New TextBox
コメントお名前(i).ID = "Text1" & i.ToString
tc.Controls.Add(コメントお名前(i))
tr.Cells.Add(tc)
コメントTable.Rows.Add(tr)

コメントW改行2(i) = New Label
コメントW改行2(i).Text = "<br> "
tc.Controls.Add(コメントW改行2(i))
tr.Cells.Add(tc)
コメントTable.Rows.Add(tr)

コメント見出2(i) = New Label
コメント見出2(i).Text = "コメント"
tc.Controls.Add(コメント見出2(i))
tr.Cells.Add(tc)
コメントTable.Rows.Add(tr)

コメント返信内容(i) = New TextBox
コメント返信内容(i).ID = "Text2" & i.ToString
tc.Controls.Add(コメント返信内容(i))
tr.Cells.Add(tc)
コメントTable.Rows.Add(tr)

コメントW改行3(i) = New Label
コメントW改行3(i).Text = "<br> "
tc.Controls.Add(コメントW改行3(i))
tr.Cells.Add(tc)
コメントTable.Rows.Add(tr)

Dim 返信Button As New Button
Dim btnID As String = ""
If i < 1000 Then btnID = "" & i
If i < 100 Then btnID = "0" & i
If i < 10 Then btnID = "00" & i

返信Button.ID = "返信" & btnID
返信Button.Text = "返信" & btnID
AddHandler 返信Button.Click, AddressOf 返信Return_click
tc.Controls.Add(返信Button)

tr.Cells.Add(tc)
コメントTable.Rows.Add(tr)

コメントW改行4(i) = New Label
コメントW改行4(i).Text = "<br><br>"
tc.Controls.Add(コメントW改行4(i))
tr.Cells.Add(tc)
コメントTable.Rows.Add(tr)
End While

drコメント親.Close()


cn.Close()

'返信登録前.Text = "前" & i & "<br>"
'For i = 0 To コメント親cnt
'返信登録前.Text = 返信登録前.Text & i & " " & コメント親IDT(i) & "<br>"
'Next i

End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub

 
テーブルのデータ数に応じてROWを追加



← 左の文字をここへ入力後 登録ボタンをクリックしてください

(サイト管理者承認後掲載されます)