Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Gridview Multiligne

2 réponses
Avatar
Sherlock35
Bonjour,

Débutant en ASP.Net, je souhaite utiliser une colonne multignes dans une
table GridView. J'ai donc inséré Une colonne de type 'template'. L'édition et
l'affichage se déroulent correctement mais lors de la mise à jour de
l'enregistrement(bouton update), le champ de l'enregistrement n'est pas
correctement mis à jour.

ci-dessous la portion du code concerné. La colonne concernée s'appelle
'Description'

Comment est il possible d'effectuer le lien entre la colonne template et le
champ de base de données lors de la mise à jour ?

D'avance merci pour toute piste que vous pourriez me fournir,

Joel

<asp:GridView ID="gvOperations" runat="server" AllowPaging="True"
AllowSorting="True"
AutoGenerateColumns="False" DataSourceID="SqlDSOperations"
CellPadding="4" ForeColor="#333333" GridLines="None" DataKeyNames="ID">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID"
InsertVisible="False" ReadOnly="True"
SortExpression="ID" />
<asp:BoundField DataField="Date" DataFormatString="{0:d}"
HeaderText="Date" SortExpression="Date" HtmlEncode="False" />
<asp:TemplateField HeaderText="Description"
SortExpression="Description">
<ItemTemplate>
<asp:Label id="Label1" runat="server"><%#
Eval("Description") %></asp:Label>
</ItemTemplate>

<EditItemTemplate>
<asp:TextBox ID="txtDescription2" runat="server"
TextMode="MultiLine" Width="266px"
Text='<%# Eval("Description") %>' >
</asp:TextBox><br />
</EditItemTemplate>
<HeaderStyle Font-Underline="True" />
</asp:TemplateField>
<asp:BoundField DataField="Montant" DataFormatString="{0:c2}"
HeaderText="Montant"
SortExpression="Montant" HtmlEncode="False" />
<asp:BoundField DataField="IDCompte" HeaderText="IDCompte"
SortExpression="IDCompte" />
<asp:BoundField DataField="CompteBancaire"
HeaderText="CompteBancaire" SortExpression="CompteBancaire" />
<asp:BoundField DataField="Validee" HeaderText="Validee"
SortExpression="Validee" />
<asp:CommandField ShowEditButton="True" />
<asp:CommandField ShowSelectButton="True" />
<asp:CommandField ShowDeleteButton="True" />
</Columns>
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#FFFBD6" ForeColor="#333333" Height="25px"
HorizontalAlign="Left" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True"
ForeColor="Navy" />
<PagerStyle BackColor="#FFCC66" ForeColor="#333333"
HorizontalAlign="Center" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
<EditRowStyle Height="60px" HorizontalAlign="Left" />
</asp:GridView>

2 réponses

Avatar
Gilles TOURREAU
Le Sat, 28 Jul 2007 20:00:01 +0200, Sherlock35
a écrit:

Bonjour,

Débutant en ASP.Net, je souhaite utiliser une colonne multignes dans une
table GridView. J'ai donc inséré Une colonne de type 'template'.
L'édition et
l'affichage se déroulent correctement mais lors de la mise à jour de
l'enregistrement(bouton update), le champ de l'enregistrement n'est pas
correctement mis à jour.

ci-dessous la portion du code concerné. La colonne concernée s'appelle
'Description'

Comment est il possible d'effectuer le lien entre la colonne template
et le
champ de base de données lors de la mise à jour ?

D'avance merci pour toute piste que vous pourriez me fournir,

Joel

<asp:GridView ID="gvOperations" runat="server" AllowPaging="True"
AllowSorting="True"
AutoGenerateColumns="False" DataSourceID="SqlDSOperations"
CellPadding="4" ForeColor="#333333" GridLines="None" DataKeyNames="ID">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID"
InsertVisible="False" ReadOnly="True"
SortExpression="ID" />
<asp:BoundField DataField="Date" DataFormatString="{0:d}"
HeaderText="Date" SortExpression="Date" HtmlEncode="False" />
<asp:TemplateField HeaderText="Description"
SortExpression="Description">
<ItemTemplate>
<asp:Label id="Label1" runat="server"><%#
Eval("Description") %></asp:Label>
</ItemTemplate>

<EditItemTemplate>
<asp:TextBox ID="txtDescription2" runat="server"
TextMode="MultiLine" Width="266px"
Text='<%# Eval("Description") %>' >
</asp:TextBox><br />
</EditItemTemplate>
<HeaderStyle Font-Underline="True" />
</asp:TemplateField>
<asp:BoundField DataField="Montant" DataFormatString="{0:c2}"
HeaderText="Montant"
SortExpression="Montant" HtmlEncode="False" />
<asp:BoundField DataField="IDCompte" HeaderText="IDCompte"
SortExpression="IDCompte" />
<asp:BoundField DataField="CompteBancaire"
HeaderText="CompteBancaire" SortExpression="CompteBancaire" />
<asp:BoundField DataField="Validee" HeaderText="Validee"
SortExpression="Validee" />
<asp:CommandField ShowEditButton="True" />
<asp:CommandField ShowSelectButton="True" />
<asp:CommandField ShowDeleteButton="True" />
</Columns>
<FooterStyle BackColor="#990000" Font-Bold="True"
ForeColor="White" />
<RowStyle BackColor="#FFFBD6" ForeColor="#333333" Height="25px"
HorizontalAlign="Left" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True"
ForeColor="Navy" />
<PagerStyle BackColor="#FFCC66" ForeColor="#333333"
HorizontalAlign="Center" />
<HeaderStyle BackColor="#990000" Font-Bold="True"
ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
<EditRowStyle Height="60px" HorizontalAlign="Left" />
</asp:GridView>



Eval(XXXXXXXX) permet uniquement de prendre des valeurs d'une source de
données et de les mettre dans une page ASP .NET.
Utiliser donc Bind(XXXXXXXX) qui permet de faire la même chose qu'Eval
mais des 2 sens...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Sherlock35
OK merci beaucoup.

Joel

"Gilles TOURREAU" a écrit :

Le Sat, 28 Jul 2007 20:00:01 +0200, Sherlock35
a écrit:

> Bonjour,
>
> Débutant en ASP.Net, je souhaite utiliser une colonne multignes dans une
> table GridView. J'ai donc inséré Une colonne de type 'template'.
> L'édition et
> l'affichage se déroulent correctement mais lors de la mise à jour de
> l'enregistrement(bouton update), le champ de l'enregistrement n'est pas
> correctement mis à jour.
>
> ci-dessous la portion du code concerné. La colonne concernée s'appelle
> 'Description'
>
> Comment est il possible d'effectuer le lien entre la colonne template
> et le
> champ de base de données lors de la mise à jour ?
>
> D'avance merci pour toute piste que vous pourriez me fournir,
>
> Joel
>
> <asp:GridView ID="gvOperations" runat="server" AllowPaging="True"
> AllowSorting="True"
> AutoGenerateColumns="False" DataSourceID="SqlDSOperations"
> CellPadding="4" ForeColor="#333333" GridLines="None" DataKeyNames="ID">
> <Columns>
> <asp:BoundField DataField="ID" HeaderText="ID"
> InsertVisible="False" ReadOnly="True"
> SortExpression="ID" />
> <asp:BoundField DataField="Date" DataFormatString="{0:d}"
> HeaderText="Date" SortExpression="Date" HtmlEncode="False" />
> <asp:TemplateField HeaderText="Description"
> SortExpression="Description">
> <ItemTemplate>
> <asp:Label id="Label1" runat="server"><%#
> Eval("Description") %></asp:Label>
> </ItemTemplate>
>
> <EditItemTemplate>
> <asp:TextBox ID="txtDescription2" runat="server"
> TextMode="MultiLine" Width="266px"
> Text='<%# Eval("Description") %>' >
> </asp:TextBox><br />
> </EditItemTemplate>
> <HeaderStyle Font-Underline="True" />
> </asp:TemplateField>
> <asp:BoundField DataField="Montant" DataFormatString="{0:c2}"
> HeaderText="Montant"
> SortExpression="Montant" HtmlEncode="False" />
> <asp:BoundField DataField="IDCompte" HeaderText="IDCompte"
> SortExpression="IDCompte" />
> <asp:BoundField DataField="CompteBancaire"
> HeaderText="CompteBancaire" SortExpression="CompteBancaire" />
> <asp:BoundField DataField="Validee" HeaderText="Validee"
> SortExpression="Validee" />
> <asp:CommandField ShowEditButton="True" />
> <asp:CommandField ShowSelectButton="True" />
> <asp:CommandField ShowDeleteButton="True" />
> </Columns>
> <FooterStyle BackColor="#990000" Font-Bold="True"
> ForeColor="White" />
> <RowStyle BackColor="#FFFBD6" ForeColor="#333333" Height="25px"
> HorizontalAlign="Left" />
> <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True"
> ForeColor="Navy" />
> <PagerStyle BackColor="#FFCC66" ForeColor="#333333"
> HorizontalAlign="Center" />
> <HeaderStyle BackColor="#990000" Font-Bold="True"
> ForeColor="White" />
> <AlternatingRowStyle BackColor="White" />
> <EditRowStyle Height="60px" HorizontalAlign="Left" />
> </asp:GridView>

Eval(XXXXXXXX) permet uniquement de prendre des valeurs d'une source de
données et de les mettre dans une page ASP .NET.
Utiliser donc Bind(XXXXXXXX) qui permet de faire la même chose qu'Eval
mais des 2 sens...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr