9.Repeaterで投稿内容を表示@ASP.Netで掲示板を作成しよう
Repeaterコントロールを配置しただけだと、表示がされませんので、
表示する処理を追加します。
bbsdispの内容を変更します。
Datatableを作成します。dtにカラムを作成します。
カラム名は、Repeaterで配置した、<%# DataBinder.Eval(Container.DataItem, "commentItem") %>と合わせます。
DataRowを作成し、Datatableに追加します。
RepeaterのDataSourceにDatatableのDefaultViewを設置し、DataBind処理を行います。
データロード、投稿時に正しく表示されることを確認します。
●vb
Protected Sub bbsdisp()
Dim dbcon As SqlConnection
Dim dbcmd As SqlCommand
Dim dataRead As SqlDataReader
Dim sqlStr As String
Dim sqlUrl As String
'接続文字列
sqlUrl = "data source=(local)\SQLEXPRESS;initial
catalog=DB;user id=id;password=pass;persist security info=True;packet
size=4096"
'DBコネクション作成
dbcon = New SqlConnection(sqlUrl)
'DB接続
dbcon.Open()
'SQL文
sqlStr = "SELECT * FROM BBS"
'SQLコマンド作成
dbcmd = New SqlCommand(sqlStr, dbcon)
'SQL文実行
dataRead = dbcmd.ExecuteReader()
Dim dt As Datatable
Dim dr As DataRow
dt = New DataTable()
dt.Columns.Add(New DataColumn("noItem", GetType(String)))
dt.Columns.Add(New DataColumn("nameItem", GetType(String)))
dt.Columns.Add(New DataColumn("titleItem", GetType(String)))
dt.Columns.Add(New DataColumn("commentItem", GetType(String)))
dt.Columns.Add(New DataColumn("createDateItem", GetType(String)))
'結果を読み込み
Dim bbsStr As String = ""
While (dataRead.Read())
dr = dt.NewRow()
dr(0) = CStr(dataRead("NO"))
dr(1) = dataRead("NAME")
dr(2) = dataRead("TITLE")
dr(3) = dataRead("COMMENT")
dr(4) = dataRead("CREATEDATE")
dt.Rows.Add(dr)
End While
Me.repeater1.DataSource = dt.DefaultView
Me.repeater1.DataBind()
'DBクローズ処理
dataRead.Close()
dbcmd.Dispose()
dbcon.Close()
dbcon.Dispose()
End Sub
|