我有一个问题,我搜索了很多,但没有工作的答案 问题是:我创建动态GridView,然后添加动态创建的复选框到GridView和其添加但是当IAM试图获得复选框状态(选中与否)我不能达到复选框 请帮助我,感谢这个马丽娟网站获取CheckBox在动态创建的GridView中动态创建
Dim MessagesTable As DataTable = Recipient.CreateInboxMessagesTable(LoginName, WhatToShow)
Dim Tbl As New DataTable
Dim Col As DataColumn
Dim Row As DataRow
Col = New DataColumn("ID", GetType(String)) : Tbl.Columns.Add(Col)
Col = New DataColumn("Select", GetType(String)) : Tbl.Columns.Add(Col)
Col = New DataColumn("Sender", GetType(String)) : Tbl.Columns.Add(Col)
Col = New DataColumn("Subject", GetType(String)) : Tbl.Columns.Add(Col)
Col = New DataColumn("ReceiveDate", GetType(String)) : Tbl.Columns.Add(Col)
Col = New DataColumn("Privacy", GetType(String)) : Tbl.Columns.Add(Col)
Col = New DataColumn("ImportanceLevel", GetType(String)) : Tbl.Columns.Add(Col)
Col = New DataColumn("JustDate", GetType(String)) : Tbl.Columns.Add(Col)
Col = New DataColumn("LastReplyID", GetType(String)) : Tbl.Columns.Add(Col)
Col = New DataColumn("Status", GetType(Integer)) : Tbl.Columns.Add(Col)
Col = New DataColumn("From", GetType(String)) : Tbl.Columns.Add(Col)
For Each TRow As DataRow In MessagesTable.Rows
Row = Tbl.NewRow
Row("ID") = TRow.Item("ID_Rec")
'Row("Select") = New CheckBox
Row("Sender") = Member.GetUserName(TRow.Item("From_Msg"))
Row("Subject") = TRow.Item("Subject_Msg") & " =+-+= " & Message.HTMLToText(TRow.Item("Body_Msg"))
Row("ReceiveDate") = Recipient.Convert24TimeTo12(TRow.Item("ReceiveDate_Rec")).Substring(11)
Row("Privacy") = TRow.Item("Privacy_Msg")
Row("ImportanceLevel") = TRow.Item("ImportanceLevel_Msg")
Row("JustDate") = TRow.Item("ReceiveDate_Rec")
Row("LastReplyID") = TRow.Item("LastReplyID_Msg")
Row("Status") = TRow.Item("Status_Msg")
Row("From") = TRow.Item("From_Msg")
Tbl.Rows.Add(Row)
Next
aGrid.DataSource = Tbl
aGrid.DataBind()
这就是我创建下面我怎么添加的复选框我的网格视图和代码
For Each GVRow As GridViewRow In aGrid.Rows
Dim CB As New CheckBox
GVRow.Cells(1).Controls.Add(CB)
Next
这我如何试图获取复选框的状态,但它并没有工作
Protected Sub btnCompleted_Click(sender As Object, e As EventArgs) Handles btnCompleted.Click
For Each Row As GridViewRow In gvInbox.Rows
Dim cbSelect As CheckBox = DirectCast(Message.FindControlRecursive(Row, "CB"), CheckBox)
'If cbSelect.Checked = True Then
'End If
Next
End Sub
谢谢
您是否收到任何异常? – Sami
不,因为我追踪了代码,并在它未能取回复选框 – Ali