C# 列表视图控制问题
我有一个Listview控件“lstStudents”,我在列表视图控件中添加了复选框。我需要添加一个全选复选框,这将导致选中Listview中的所有复选框。我使用以下代码,但它不起作用C# 列表视图控制问题,c#,winforms,listview,checkbox,C#,Winforms,Listview,Checkbox,我有一个Listview控件“lstStudents”,我在列表视图控件中添加了复选框。我需要添加一个全选复选框,这将导致选中Listview中的所有复选框。我使用以下代码,但它不起作用 private void chkAll_CheckedChanged(object sender, EventArgs e) { foreach (Control cont in lstStudents.Controls) { if (cont
private void chkAll_CheckedChanged(object sender, EventArgs e)
{
foreach (Control cont in lstStudents.Controls)
{
if (cont.GetType() == typeof(CheckBox))
{
(cont as CheckBox).Checked = true;
}
}
}
我正在使用c#windows窗体……尝试以下方法:
private void chkAll_CheckedChanged(object sender, EventArgs e)
{
foreach (ListViewDataItem item in lstStudents.Items)
{
CheckBox cbSelect = item.FindControl("cbSelect") as CheckBox;
if (cbSelect != null)
{
cbSelect.Checked = true;
}
}
}
假设您的listview定义如下所示:
<asp:listview runat="server">
<itemtemplate>
<asp:checkbox id="cbSelect" runat="server" />
</itemtemplate>
</asp:listview>
您与的是数据项,而不是控件本身
private void chkAll_CheckedChanged(object sender, EventArgs e)
{
foreach (ListViewItem item in lstStudents.Items)
{
item.Checked = chkAll.Checked;
}
}
- 无论是否可见,都可以在ListViewItem上访问Checked属性
- lstStudents.Items仅返回ListViewItem