GridView : DropDownList en mode Edit [Résolu]

Signaler
Messages postés
4
Date d'inscription
dimanche 2 avril 2006
Statut
Membre
Dernière intervention
25 septembre 2007
-
Messages postés
4
Date d'inscription
dimanche 2 avril 2006
Statut
Membre
Dernière intervention
25 septembre 2007
-
Bonjour à tous,

je développe un intranet en ASP.NET 2.0 VB

je possède un gridview avec une SQLDataSource

Lorsque je passe en mode Edit, je voudrais mettre en place des DDL. En effet ma requête SELECT du DataSource est constituée de deux jointures et pour respecter mes contraintes d'intégrité je veux forcer l'utilisateur à choisir les valeurs dans des DDL.

J'arrive bien à initialiser mes DDL avec les valeurs en BD mais mon Update ne marche pas.

Voici ma requête SQL :

SELECT tbl_Employe.Idf_Employe as Idf_Employe, tbl_Employe.Nom,tbl_Employe.Prenom,

   tbl_Employe.Tel_Fixe,tbl_Employe.Tel_Poste,tbl_Employe.Tel_Portable,tbl_Employe.Email,
   tbl_Site.Site, tbl_Site.Idf_Site,tbl_Entite.Idf_Entite,tbl_Entite.Libelle 

 FROM tbl_Employe 
   LEFT JOIN tbl_Entite ON tbl_Employe.Entite = tbl_Entite.Idf_Entite
    LEFT JOIN tbl_Site ON tbl_Employe.Site = tbl_Site.Idf_Site
 WHERE(tbl_Employe.Actif = 1)

Voici ma page ASPX :  

<

asp:GridView
ID="gv_employe"
runat="server"
AllowPaging="True"
AllowSorting="True"

AutoGenerateColumns="False"
CellPadding="3"
DataSourceID="datas_recherche"

Font-Bold="False"
Font-Size="X-Small"
ForeColor="#333333"
GridLines="Horizontal"

HorizontalAlign="Center"
PageSize="12"
style="display:block;overflow:auto;border:0"
ShowFooter="True"

DataKeyNames="Idf_Employe">

<FooterStyle
BackColor="#5D7B9D"
Font-Bold="True"
ForeColor="White"
Font-Names="Verdana"
/>

<Columns>

<asp:CommandField
ButtonType="Image"
CancelImageUrl="~/App_Images/Boutons/btn_icoAnnuler.gif"

DeleteImageUrl="~/App_Images/Boutons/btn_icoSupprimer.gif"
EditImageUrl="~/App_Images/Boutons/Btn_icoModifier.gif"

InsertImageUrl="~/App_Images/Boutons/btn_icoAjouter.gif"
ShowEditButton="True"
UpdateImageUrl="~/App_Images/Boutons/btn_icoValider.gif"
/>

<asp:CommandField
ButtonType="Image"
DeleteImageUrl="~/App_Images/Boutons/btn_icoSupprimer.gif"

ShowDeleteButton="True"
/>

<asp:BoundField
DataField="Idf_Employe"
HeaderText="Num&#233;ro Employe"
ReadOnly="True"
SortExpression="Idf_Employe"
>

<ItemStyle
HorizontalAlign="Left"
Wrap="False"
/>

</asp:BoundField>

<asp:BoundField
DataField="Nom"
HeaderText="Nom"
SortExpression="Nom"
>

<ItemStyle
HorizontalAlign="Left"
Wrap="False"
/>

</asp:BoundField>

<asp:BoundField
DataField="Prenom"
HeaderText="Prenom"
SortExpression="Prenom"
>

<ItemStyle
HorizontalAlign="Left"
Wrap="False"
/>

</asp:BoundField>

<asp:TemplateField
HeaderText="Site"
SortExpression="Site"
>

<ItemTemplate>

<asp:Label
ID="lb_site"
runat="server"
Text='<%#Eval("Site")%>
'
style="text-align: left">

</asp:Label>

</ItemTemplate>

<EditItemTemplate>

<asp:SQLDataSource
ID="datas_sites"
runat="server"
ConnectionString="<%$ ConnectionStrings:db_BDD_Editique_ConnectionString %>
"
SelectCommand="SELECT [Idf_Site], [Site] FROM [tbl_Site] ORDER BY [Site]"
>

</asp:SQLDataSource>

<asp:DropDownList
DataSourceID="datas_sites"
ID="ddl_modif_site"
runat="server"

DataTextField="Site"
DataValueField="Idf_Site"

SelectedValue='<%#Bind("Idf_Site")%>
'>

</asp:DropDownList>

</EditItemTemplate>

<ItemStyle
Wrap="False"
HorizontalAlign="Left"/>

</asp:TemplateField>

<asp:TemplateField
HeaderText="Entite"
SortExpression="Libelle">

<ItemTemplate>

<asp:Label
ID="lb_entite"
runat="server"
Text='<%#Eval("Libelle")%>
'>

</asp:Label>

</ItemTemplate>

<EditItemTemplate>

<asp:SQLDataSource
ID="datas_entites"
runat="server"
ConnectionString="<%$ ConnectionStrings:db_BDD_Editique_ConnectionString %>
"
SelectCommand="SELECT [Idf_Entite], [Libelle] FROM [tbl_Entite] ORDER BY [Libelle]"
>

</asp:SQLDataSource>

<asp:DropDownList
DataSourceID="datas_entites"
ID="ddl_modif_entite"
runat="server"

DataTextField="Libelle"
DataValueField="Idf_Entite"

SelectedValue='<%#Bind("Idf_Entite")%>
'>

</asp:DropDownList>

</EditItemTemplate>

<ItemStyle
Wrap="False"
HorizontalAlign="Left"/>

</asp:TemplateField>

<asp:BoundField
DataField="Tel_Fixe"
HeaderText="Tel_Fixe"
SortExpression="Tel_Fixe"
>

<ItemStyle
HorizontalAlign="Left"
Wrap="False"
/>

</asp:BoundField>

<asp:BoundField
DataField="Tel_Poste"
HeaderText="Tel_Poste"
SortExpression="Tel_Poste"
>

<ItemStyle
HorizontalAlign="Left"
Wrap="False"
/>

</asp:BoundField>

<asp:BoundField
DataField="Tel_Portable"
HeaderText="Tel_Portable"
SortExpression="Tel_Portable"
>

<ItemStyle
HorizontalAlign="Left"
Wrap="False"
/>

</asp:BoundField>

<asp:BoundField
DataField="Email"
HeaderText="Email"
SortExpression="Email"
>

<ItemStyle
HorizontalAlign="Left"
Wrap="False"
/>

</asp:BoundField>

</Columns>

<RowStyle
BackColor="#F7F6F3"
ForeColor="RoyalBlue"
Font-Names="Verdana"
height="30px"
Wrap="False"/>

<EditRowStyle
BackColor="White"
Font-Names="Verdana"
/>

<SelectedRowStyle
BackColor="White"
Font-Bold="True"
ForeColor="#333333"
Font-Names="Verdana"
/>

<PagerStyle
BackColor="#284775"
ForeColor="White"
HorizontalAlign="Center"
Font-Names="Verdana"
/>

<HeaderStyle
BackColor="#5D7B9D"
Font-Bold="True"
ForeColor="White"
Font-Names="Verdana"
HorizontalAlign="Left"
Width="100%"/>

<AlternatingRowStyle
BackColor="White"
ForeColor="#284775"
Font-Names="Verdana"
/>

<EmptyDataRowStyle
Font-Names="Verdana"
/>

</asp:GridView>

<asp:SqlDataSource
ID="datas_recherche"
runat="server"
ConnectionString="<%$ ConnectionStrings:db_BDD_Editique_ConnectionString %>
"

UpdateCommand="UPDATE tbl_EmployeSET Nom=@Nom, Prenom=@Prenom,Tel_Fixe=@Tel_Fixe,

Tel_Poste=@Tel_poste,Tel_Portable=@Tel_Portable,Email=@Email

,Site=@site,Entite=@entite

WHERE Idf_Employe=@Idf_Employe">

<UpdateParameters
>

<asp:Parameter
Name="Site"
Type="String"
/>

<asp:Parameter
Name="Entite"
Type="String"/>

</UpdateParameters>

</asp:SqlDataSource>

Merci à tous pour votre aide

2 réponses

Messages postés
4
Date d'inscription
dimanche 2 avril 2006
Statut
Membre
Dernière intervention
25 septembre 2007

Bonjour en fait j'ai laissé tomber cette idée là. J'ai trouvé un superbe ensemble de tuto pour créer un site ASP.NET dans les meilleurs conditions.

Jetez-y un coup d'oeil ça vaut le coup :
http://www.asp.net/learn/data-access/tutorial-01-vb.aspx

Bonne chance à tous
Messages postés
90
Date d'inscription
lundi 30 juin 2003
Statut
Membre
Dernière intervention
21 février 2008

Qu'entends-tu exactement par çà ne marche pas? As-tu essayé d'utiliser SQL Profiler pour voir la requête que t'envoyait ta page?