Bonjour,

Voilà j'ai un listView qui en mode édition utilise une DropDownList. Je remplis la dropDownList sur le onLoad, mais je voudrais aussi que l'item selectionné par défaut corresponde à la valeur initiale du champ. Le code devrait-être comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<EditItemTemplate>
                    <tr runat="server" id="ROWEDIT">
                       ...
                        <td>
                            <asp:DropDownList ID="DDlDechetEdit" runat="server" OnLoad="INITDDL" selectedValue='<%# Bind("IDDECHET") %>'/>
                        </td>
</tr>
Le problème c'est qu'il y a un bug en asp.net sur ce code :
http://131.107.112.14/VisualStudio/f...dbackID=337215

Et les workarround proposés ne m'avancent pas vraiment.

Donc la seule solution qu'il me reste c'est de me cogner le binding à la paluche

Donc je pensais partir sur ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
void m_ListView_PreRender(object sender, EventArgs e)
        {
            ListView m_grille = (ListView)sender;
 
            if (m_grille.EditIndex > -1)
            {
                DropDownList dl = (DropDownList)m_grille.Items[m_grille.EditIndex].FindControl("DDlDechetEdit");
 
            }
        }
Bon ok, mais maintenant, sachant que ma ListView a une SqlDataSource en dataSource, comment je retrouve la selectedValue à définir pour ma dropDownList :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
void m_ListView_PreRender(object sender, EventArgs e)
        {
            ListView m_grille = (ListView)sender;
            
            if (m_grille.EditIndex > -1)
            {
                DropDownList dl = (DropDownList)m_grille.Items[m_grille.EditIndex].FindControl("DDlDechetEdit");
               dl.SelectedValue = ?
            }
        }
Je suis pas loin mais il me manque ce truc, une idée ?