html Code:
datalist 的headertemplete中加入checkbox全选按纽
<asp:checkbox id="ChkAll" runat="server" text="全选" AutoPostBack="True" />
itemtemplete中增加checkbox的单项选
<asp:checkbox id="checkid" runat="server"></asp:checkbox>
Code(vb.net):
Private Sub DataList1_ItemCreated(ByVal sender As Object, _
ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) _
Handles DataList1.ItemCreated
If e.Item.ItemType = ListItemType.Header Then
Try
Dim chkall As CheckBox = CType(e.Item.FindControl("checkAll"), CheckBox)
AddHandler chkall.CheckedChanged, AddressOf chk_CheckedChanged
Catch ex As Exception
Throw New Exception("DataItemCreated")
Exit Sub
End Try
End If
End Sub
Private Sub chk_CheckedChanged(ByVal sender As Object, _
ByVal e As System.EventArgs)
Dim chk As CheckBox
Try
Dim ii As DataListItem
Try
Catch ex As Exception
End Try
For Each ii In DataList1.Controls
Try
chk = CType(ii.FindControl("checkAll"), CheckBox)
Exit For
Catch ex As Exception
Throw New Exception("GetHeaderCheckBox ERROR")
Exit Sub
End Try
Next
Catch ex As Exception
Throw New Exception(ex.ToString)
Exit Sub
End Try
Dim i As DataListItem
For Each i In DataList1.Items
Try
Dim inchk As CheckBox = CType(i.FindControl("idcheck"), CheckBox)
inchk.Checked = chk.Checked
Catch ex As Exception
Throw New Exception("chk_CHeckDChanged")
Exit Sub
End Try
Next
End Sub