Faudrais que Cyberice67 repasse par la pour montrer le bout de code qui merdait.
mais en gros il y avait une datalist
<asp:datalist etc...>
<itemtemplate><asp:label id="lbl1" /></itemTemplate>
<EditItemTemplate><asp:DropDownList id="Drop1" /></EditItemTemplate>
</asp:datalist>
le problème etait de remplir Drop1
en se mettant dans
private sub dl1_onEditItemCommand(sender as object, e as trucEventArgs) handle dl1.onEditItemCommand
dl1.EditItemIndex = e.Item.ItemIndex
'Si je faisais
drim drop as DropDownList = ctype(e.item.findcontrol("Drop1"), DropDownList)
'drop n'existe pas.
'Par contre
dim lbl as Label = ctype(e.item.findcontrol("lbl1"),label)
'lbl existe et est accessible ...
end sub
Ce que je voulais donc dire c'est que le e de private sub dl1_onEditItemCommand(sender as object, e as trucEventArgs) ne se rapporte pas à editItemTemplate mais a ItemTemplate et je n'ai pas trouvé de moyen d'acceder à l'editItemTemplate à partir de e (il doit surement y avoir un moyen mais, j'ai rien vu)
Donc la solution que je lui ai proposé au lieu de
<asp:datalist etc...>
<itemtemplate><asp:label id="lbl1" /></itemTemplate>
<EditItemTemplate><asp:DropDownList id="Drop1" /></EditItemTemplate>
</asp:datalist>
<asp:datalist etc...>
<itemtemplate><asp:panel id="pnl1"><asp:label id="lbl1" /></asp:panel>
<asp:panel id="pnl2" visible="false"><asp:DropDownList id="Drop1" /></asp:panel>
</EditItemTemplate>
</asp:datalist>
private sub dl1_onEditItemCommand(sender as object, e as trucEventArgs) handle dl1.onEditItemCommand
e.item.findcontrol("pnl1").visible= false
e.item.findcontrol("pnl2").visible= true
drim drop as DropDownList = ctype(e.item.findcontrol("Drop1"), DropDownList)
'et la on accés au Drop donc Datasource pius Databind : problème resolus :)
end sub
Cyril -
MCP ASP.netWebmaster de :
Hoshimi.CodeS-SourceS.fr