代码之家  ›  专栏  ›  技术社区  ›  chamara

Listview控件问题

  •  1
  • chamara  · 技术社区  · 14 年前

      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窗体。。。。。。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Caspar Kleijne    14 年前

    您所说的是数据项,而不是控件本身

        private void chkAll_CheckedChanged(object sender, EventArgs e)
        {
            foreach (ListViewItem item in lstStudents.Items)
            {
                item.Checked = chkAll.Checked;
            }
        }
    
    • 无论是否可见,在ListViewItem上始终可以访问Checked属性。
    • 学生。物品仅返回ListViewItem

        2
  •  1
  •   Naeem Sarfraz    14 年前

    试试这个:

    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>