parcourir TOUTES les lignes dans un contrôle GridView

 <asp:TemplateField HeaderText="Select">
 <ItemTemplate>
 <asp:CheckBox ID="chkSelected" runat="server" Checked="false"></asp:CheckBox>
  </ItemTemplate>
 </asp:TemplateField>

inférieur code fonctionne bien, mais il y a un bug :

si l'Employé objet a de retour de 5 lignes et je suis en train de coché la case à cocher en fonction des id mais au contraire sa juste correspondant seulement le dernier id - il supposer pour vérifié toutes les 5 lignes.

List<Employee> result = new List<Employee>();
long Id = (long)Session["Id"];
result = Employee.GetEmployeeById(Id);

foreach (GridViewRow row in gv.Rows)
{
   CheckBox chkBox = row.FindControl("chkSelected") as CheckBox;
   if (c != null)
   {
      if (result.Count > 0)
      {
          foreach (Employee item in result)
          {
             Label Id = row.FindControl("lblId") as Label;
             if (Id.Text == item.Id.ToString())
             {
                 chkBox.Checked = true;
             }
             else
             {
                chkBox.Checked = false;
             }
           }
       }

OriginalL'auteur Nick Kahn | 2011-07-20