Bonjour,
Je viens de revenir sur ce problème et la solution est bien en javascript.
Le bout de code ci-dessous se trouve dans un contrôle utilisateur.
Cette méthode marche bien si je place simplement mon contrôle dans ma page comme cela :
<uc901:TextBoxPopUp runat="server"/>
Cependant, si je veux intégrer dans un gridview une colonne avec un TextBoxPopUp sur chaque ligne, cela ne marche plus et je comprend vraiment pas pourquoi?
Voici le code de mon contrôle utilisateur :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| <asp:TextBox ID="Commentaires" runat="server" Width="300px" ></asp:TextBox>
<asp:Panel ID="PopupFichier" runat="server" BackColor="#DBE0E3" Width="460px" Height="350px" BorderColor="Black" BorderStyle="Double" BorderWidth="1px" >
<div class="StyleBandeauPopup"> <div style="color:White;font-size:large " >Commentaires
<asp:LinkButton ID="LienFermerFenetre" runat="server" Text="Fermer" ForeColor="Yellow" Font-Size="Smaller" OnClientClick=" return ChargementTexte()"></asp:LinkButton></div> </div>
<br />
<div align="center">
<asp:TextBox ID="TextBoxCommentaires" TextMode="MultiLine" runat="server" Width="440px" Height="270px" ></asp:TextBox>
</div>
</asp:Panel>
<asp:ModalPopupExtender ID="ModalPopupTextBox" runat="server" TargetControlID="Commentaires" BackgroundCssClass="modalBackgroundClick" PopupControlID="PopupFichier" OkControlID="LienFermerFenetre" OnOkScript="ChargementTexte()" >
</asp:ModalPopupExtender>
<script type="text/javascript">
function ChargementTexte()
{
//Récupère les références des deux textbox
var TextBoxMere = document.getElementById("<%= Commentaires.ClientID %>");
var TextBoxFille = document.getElementById("<%= TextBoxCommentaires.ClientID %>");
//Transfert des éléments de la fenêtre fille vers la fenêtre mère
TextBoxMere.value = TextBoxFille.value;
}
</script> |
Et voici le code du gridview :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <asp:GridView ID="GridView1" runat="server" AllowPaging="False"
AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="Données"
DataSourceID="SqlDataSource1" BorderColor="#94979A" CellPadding="10" BackColor="#ECEBEF" HeaderStyle-BackColor="#6A97D0" AlternatingRowStyle-BackColor="#D2DBE6" HeaderStyle-ForeColor="White">
<Columns>
<asp:BoundField DataField="Données" HeaderText="Données"
SortExpression="Données" />
<asp:TemplateField ShowHeader="true" Visible="true">
<ItemTemplate>
<uc901:TextBoxPopUp runat="server"/>
</ItemTemplate>
<HeaderTemplate>
<asp:Label ID="LabelCommentaires" runat="server" Text="Commentaires"></asp:Label>
</HeaderTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView> |
Est-ce que quelqu'un saurait pourquoi cela ne marche pas dans le cas du gridview? Merci.
Partager