2009-12-10 5 views
0

J'ai un Datalist et j'essaie d'insérer une case à cocher pour chaque enregistrement lié au datalist. Le premier enregistrement a la case à cocher mais les enregistrements suivants ne le font pas. Je soupçonne que je ne fais que remplacer la première case à chaque fois qu'un enregistrement est lié. Quelqu'un peut-il me donner un aperçu? J'ai besoin de la case à cocher à répéter pour chaque enregistrement.Ajout d'une case à cocher pendant l'échange de données

alertList.ItemTemplate = new AlertItemTemplate(groupTracker); 

     if (!Page.IsPostBack) { 
      alertList.DataBind(); 
     } 

Voici ma méthode de liaison surchargée:

public override void DataBind() 
     { 
       //Auto Chart 
       TableCell autoChartCell; 
       autoChartCell = new TableCell(); 
       autoChartCell.BorderStyle = BorderStyle.Solid; 
       autoChartCell.VerticalAlign = VerticalAlign.Top; 
       autoChartCell.Controls.Add(autoChartChkBox = new CheckBox()); 
       autoChartCell.Controls.Add(autoChartLbl = new Label()); 
       Rows[1].Cells.Add(autoChartCell); 
       autoChartLbl.Text = "AutoChart"; 
       autoChartChkBox.Checked = item.IncludeInChartNotes; 

       alertTypeNameCell.ColumnSpan = Rows[1].Cells.Count; 

      } 
     } 

Répondre

1

Ajoutez les contrôles nécessaires dans votre balisage de vue, puis afficher/masquer la programmation nécessaire.

Il est généralement déconseillé de placer ce type de code dans des codes-behind car cela casse le modèle contrôleur/vue.

+0

D'accord ... C'est un vieux projet que j'étends. N'est-ce pas toujours comme ça? :) – Nick