使用 VB.Net(Windows 应用程序)
我在 girdview 列中使用复选框,现在我想在标题中添加一个复选框。
如果我选中标题中的复选框,则列中的所有复选框都应自动选中。
这该怎么做。
需要 VB.Net 代码帮助
在 中添加第一个复选框(处理CheckedChanged事件和设置AutoPostBack=True)HeaderTemplate并在中添加 第二个复选框。ItemTemplateTemplateField
标记
<asp:GridView
ID="GridView1"
runat="server"
AutoGenerateColumns="false"
>
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox
ID="CheckBox1"
runat="server"
AutoPostBack="true"
OnCheckedChanged="CheckUncheckAll"
/>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="CheckBox2" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Name
</HeaderTemplate>
<ItemTemplate>
<asp:Literal
ID="Literal1"
runat="server"
Text='<%#Eval("Name") %>'
>
</asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)
代码隐藏
Public Class Data
Public Property Name As String
End Class
Protected Sub CheckUncheckAll(sender As Object, e As System.EventArgs)
Dim chk1 As CheckBox
chk1 = DirectCast(GridView1.HeaderRow.Cells(0).FindControl("CheckBox1"),CheckBox)
For Each row As GridViewRow In GridView1.Rows
Dim chk As CheckBox
chk =DirectCast(row.Cells(0).FindControl("CheckBox2"),CheckBox)
chk.Checked = chk1.Checked
Next
End Sub
Dim lst As List(Of Data)
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
lst = New List(Of Data)
lst.Add(New Data() With {.Name = "A"})
lst.Add(New Data() With {.Name = "B"})
lst.Add(New Data() With {.Name = "C"})
GridView1.DataSource = lst
GridView1.DataBind()
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15607 次 |
| 最近记录: |