Bonjour,
J'ai un problème lors de la tentative d'accés à une donnée d'un item d'une datalist. J'ai créé une fonction "Item_Created"
qui tente de cocher la checkbox :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6

void Item_Created(Object sender, DataListItemEventArgs e)
{
((CheckBox)e.Item.FindControl("ck")).Checked=true;
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<asp:datalist id="MyList" OnItemCreated="Item_Created" runat="server">
<HeaderTemplate>...</HeaderTemplate>
<ItemTemplate> 
<tr> <td><asp:CheckBox id="ck" runat="server"/> </td></tr>
...
</ItemTemplate>
<FooterTemplate>... </FooterTemplate>
</asp:datalist>


Erreur générée : System.NullReferenceException: Object reference not set to an instance of an object.
Sur : ((CheckBox)e.Item.FindControl "ck")).Checked=true;

La requete fonctionne si je vide le "Item_Created" et me génère une 20taine de lignes.

Même erreur générée lorsque je place uniquement ceci dans le code de la fonction "Item_Created" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
int IDC = (int) ((DataRowView)e.Item.DataItem).Row.ItemArray[0];
Ca fonctionne correctement de la même manière sur une autre page, je comprends absolument pas pourquoi il ne parvient pas à lire les données de l'Item qui appelle la fonction...

Si qqu'un à une idée du pb...

(PS : Le but n'est pas de cocher tout bien sûr , mais d'effectuer un test dans la fonction pour appliquer checked false ou true... J'ai allégé le code pour etre plus clair)