Conditionner l'affichage de control dans un repeater
3 réponses
Mick
Bonjour,
je tente d'affiche une liste de questions et de réponses dans ma page,
simulant un Qcm.
J'ai donc un repeater pour les questions et un repeater imbriqué pour chaque
réponse.
La ou je coince, c'est sur le point suivant.
Selon le cas, la question peut avoir 1 ou plusieurs réponses.
Si elle ne peut avoir qu'une seule réponse, je voudrais afficher des radio
button.
Si elle peut en avoir plusieurs, des checkbox.
Dans mon *.aspx, je met ceci :
<td width="5%">
<%# setCheckBoxOrRadio(DataBinder.Eval(Container.DataItem,
"AnswerId").ToString()) %>
</td>
et dans mon *.aspx.cs
protected string setCheckBoxOrRadio(string selectedAnswerId)
{
//If Statement sur la question parente et sa propriété HasSeveralAnswers
Si 1 seule reponse
return ("<asp:RadioButton Runat=\"server\" Checked=\"False\"
GroupName='<%# DataBinder.Eval(Container.DataItem, \"QId\") %>'
ID=\"ClientCompanyTestQcmQuestionRadioPropositon\"
BorderStyle=None></asp:RadioButton>");
Si plusieurs reponses
return ("<asp:CheckBox Checked=\"False\"
ID=\"ClientCompanyTestQcmQuestionChkPropositon\" Runat=\"server\"
Width=\"10\" BorderStyle=None></asp:CheckBox>");
}
Helas, ca ne me retourne rien...
Un peu d'aide serait la bienvenue.
Ajouter un Event Handler pour l'évènement DataBound du repeater et dans le code de l'eventhandler faire quelque chose dans le style :
private void Repeater1_DataBound (...) { if ( e.Item.ItemType = ListItemtype.Item || e.Item.ItemType = ListItemtype.AlternatingItem ) { Control placeHolder = e.FindControl ("PlaceHolder1"); if (placeHolder != null) { if ( checkbox ) { CheckBox chk = new CheckBox(); placeholder.Controls.Add (chk); } else { RadioButton rad = new RadioButton(); placeholder.Controls.Add (rad); } } } }
"Mick" wrote:
Bonjour, je tente d'affiche une liste de questions et de réponses dans ma page, simulant un Qcm. J'ai donc un repeater pour les questions et un repeater imbriqué pour chaque réponse.
La ou je coince, c'est sur le point suivant. Selon le cas, la question peut avoir 1 ou plusieurs réponses. Si elle ne peut avoir qu'une seule réponse, je voudrais afficher des radio button. Si elle peut en avoir plusieurs, des checkbox.
Dans mon *.aspx, je met ceci : <td width="5%"> <%# setCheckBoxOrRadio(DataBinder.Eval(Container.DataItem, "AnswerId").ToString()) %> </td>
et dans mon *.aspx.cs protected string setCheckBoxOrRadio(string selectedAnswerId) { //If Statement sur la question parente et sa propriété HasSeveralAnswers Si 1 seule reponse return ("<asp:RadioButton Runat="server" Checked="False" GroupName='<%# DataBinder.Eval(Container.DataItem, "QId") %>' ID="ClientCompanyTestQcmQuestionRadioPropositon" BorderStyle=None></asp:RadioButton>"); Si plusieurs reponses return ("<asp:CheckBox Checked="False" ID="ClientCompanyTestQcmQuestionChkPropositon" Runat="server" Width="10" BorderStyle=None></asp:CheckBox>"); }
Helas, ca ne me retourne rien... Un peu d'aide serait la bienvenue.
Ajouter un Event Handler pour l'évènement DataBound du repeater et dans le
code de l'eventhandler faire quelque chose dans le style :
private void Repeater1_DataBound (...)
{
if ( e.Item.ItemType = ListItemtype.Item || e.Item.ItemType =
ListItemtype.AlternatingItem )
{
Control placeHolder = e.FindControl ("PlaceHolder1");
if (placeHolder != null)
{
if ( checkbox )
{
CheckBox chk = new CheckBox();
placeholder.Controls.Add (chk);
}
else
{
RadioButton rad = new RadioButton();
placeholder.Controls.Add (rad);
}
}
}
}
"Mick" wrote:
Bonjour,
je tente d'affiche une liste de questions et de réponses dans ma page,
simulant un Qcm.
J'ai donc un repeater pour les questions et un repeater imbriqué pour chaque
réponse.
La ou je coince, c'est sur le point suivant.
Selon le cas, la question peut avoir 1 ou plusieurs réponses.
Si elle ne peut avoir qu'une seule réponse, je voudrais afficher des radio
button.
Si elle peut en avoir plusieurs, des checkbox.
Dans mon *.aspx, je met ceci :
<td width="5%">
<%# setCheckBoxOrRadio(DataBinder.Eval(Container.DataItem,
"AnswerId").ToString()) %>
</td>
et dans mon *.aspx.cs
protected string setCheckBoxOrRadio(string selectedAnswerId)
{
//If Statement sur la question parente et sa propriété HasSeveralAnswers
Si 1 seule reponse
return ("<asp:RadioButton Runat="server" Checked="False"
GroupName='<%# DataBinder.Eval(Container.DataItem, "QId") %>'
ID="ClientCompanyTestQcmQuestionRadioPropositon"
BorderStyle=None></asp:RadioButton>");
Si plusieurs reponses
return ("<asp:CheckBox Checked="False"
ID="ClientCompanyTestQcmQuestionChkPropositon" Runat="server"
Width="10" BorderStyle=None></asp:CheckBox>");
}
Helas, ca ne me retourne rien...
Un peu d'aide serait la bienvenue.
Ajouter un Event Handler pour l'évènement DataBound du repeater et dans le code de l'eventhandler faire quelque chose dans le style :
private void Repeater1_DataBound (...) { if ( e.Item.ItemType = ListItemtype.Item || e.Item.ItemType = ListItemtype.AlternatingItem ) { Control placeHolder = e.FindControl ("PlaceHolder1"); if (placeHolder != null) { if ( checkbox ) { CheckBox chk = new CheckBox(); placeholder.Controls.Add (chk); } else { RadioButton rad = new RadioButton(); placeholder.Controls.Add (rad); } } } }
"Mick" wrote:
Bonjour, je tente d'affiche une liste de questions et de réponses dans ma page, simulant un Qcm. J'ai donc un repeater pour les questions et un repeater imbriqué pour chaque réponse.
La ou je coince, c'est sur le point suivant. Selon le cas, la question peut avoir 1 ou plusieurs réponses. Si elle ne peut avoir qu'une seule réponse, je voudrais afficher des radio button. Si elle peut en avoir plusieurs, des checkbox.
Dans mon *.aspx, je met ceci : <td width="5%"> <%# setCheckBoxOrRadio(DataBinder.Eval(Container.DataItem, "AnswerId").ToString()) %> </td>
et dans mon *.aspx.cs protected string setCheckBoxOrRadio(string selectedAnswerId) { //If Statement sur la question parente et sa propriété HasSeveralAnswers Si 1 seule reponse return ("<asp:RadioButton Runat="server" Checked="False" GroupName='<%# DataBinder.Eval(Container.DataItem, "QId") %>' ID="ClientCompanyTestQcmQuestionRadioPropositon" BorderStyle=None></asp:RadioButton>"); Si plusieurs reponses return ("<asp:CheckBox Checked="False" ID="ClientCompanyTestQcmQuestionChkPropositon" Runat="server" Width="10" BorderStyle=None></asp:CheckBox>"); }
Helas, ca ne me retourne rien... Un peu d'aide serait la bienvenue.
merci d'avance ^^
Joël Descombes
Conseil d'ami...un excellent bouquin ASP.NET devrait fortement d'aider.
"Mick" a écrit :
Bonjour, je tente d'affiche une liste de questions et de réponses dans ma page, simulant un Qcm. J'ai donc un repeater pour les questions et un repeater imbriqué pour chaque réponse.
La ou je coince, c'est sur le point suivant. Selon le cas, la question peut avoir 1 ou plusieurs réponses. Si elle ne peut avoir qu'une seule réponse, je voudrais afficher des radio button. Si elle peut en avoir plusieurs, des checkbox.
Dans mon *.aspx, je met ceci : <td width="5%"> <%# setCheckBoxOrRadio(DataBinder.Eval(Container.DataItem, "AnswerId").ToString()) %> </td>
et dans mon *.aspx.cs protected string setCheckBoxOrRadio(string selectedAnswerId) { //If Statement sur la question parente et sa propriété HasSeveralAnswers Si 1 seule reponse return ("<asp:RadioButton Runat="server" Checked="False" GroupName='<%# DataBinder.Eval(Container.DataItem, "QId") %>' ID="ClientCompanyTestQcmQuestionRadioPropositon" BorderStyle=None></asp:RadioButton>"); Si plusieurs reponses return ("<asp:CheckBox Checked="False" ID="ClientCompanyTestQcmQuestionChkPropositon" Runat="server" Width="10" BorderStyle=None></asp:CheckBox>"); }
Helas, ca ne me retourne rien... Un peu d'aide serait la bienvenue.
merci d'avance ^^
Conseil d'ami...un excellent bouquin ASP.NET devrait fortement d'aider.
"Mick" a écrit :
Bonjour,
je tente d'affiche une liste de questions et de réponses dans ma page,
simulant un Qcm.
J'ai donc un repeater pour les questions et un repeater imbriqué pour chaque
réponse.
La ou je coince, c'est sur le point suivant.
Selon le cas, la question peut avoir 1 ou plusieurs réponses.
Si elle ne peut avoir qu'une seule réponse, je voudrais afficher des radio
button.
Si elle peut en avoir plusieurs, des checkbox.
Dans mon *.aspx, je met ceci :
<td width="5%">
<%# setCheckBoxOrRadio(DataBinder.Eval(Container.DataItem,
"AnswerId").ToString()) %>
</td>
et dans mon *.aspx.cs
protected string setCheckBoxOrRadio(string selectedAnswerId)
{
//If Statement sur la question parente et sa propriété HasSeveralAnswers
Si 1 seule reponse
return ("<asp:RadioButton Runat="server" Checked="False"
GroupName='<%# DataBinder.Eval(Container.DataItem, "QId") %>'
ID="ClientCompanyTestQcmQuestionRadioPropositon"
BorderStyle=None></asp:RadioButton>");
Si plusieurs reponses
return ("<asp:CheckBox Checked="False"
ID="ClientCompanyTestQcmQuestionChkPropositon" Runat="server"
Width="10" BorderStyle=None></asp:CheckBox>");
}
Helas, ca ne me retourne rien...
Un peu d'aide serait la bienvenue.
Conseil d'ami...un excellent bouquin ASP.NET devrait fortement d'aider.
"Mick" a écrit :
Bonjour, je tente d'affiche une liste de questions et de réponses dans ma page, simulant un Qcm. J'ai donc un repeater pour les questions et un repeater imbriqué pour chaque réponse.
La ou je coince, c'est sur le point suivant. Selon le cas, la question peut avoir 1 ou plusieurs réponses. Si elle ne peut avoir qu'une seule réponse, je voudrais afficher des radio button. Si elle peut en avoir plusieurs, des checkbox.
Dans mon *.aspx, je met ceci : <td width="5%"> <%# setCheckBoxOrRadio(DataBinder.Eval(Container.DataItem, "AnswerId").ToString()) %> </td>
et dans mon *.aspx.cs protected string setCheckBoxOrRadio(string selectedAnswerId) { //If Statement sur la question parente et sa propriété HasSeveralAnswers Si 1 seule reponse return ("<asp:RadioButton Runat="server" Checked="False" GroupName='<%# DataBinder.Eval(Container.DataItem, "QId") %>' ID="ClientCompanyTestQcmQuestionRadioPropositon" BorderStyle=None></asp:RadioButton>"); Si plusieurs reponses return ("<asp:CheckBox Checked="False" ID="ClientCompanyTestQcmQuestionChkPropositon" Runat="server" Width="10" BorderStyle=None></asp:CheckBox>"); }
Helas, ca ne me retourne rien... Un peu d'aide serait la bienvenue.
merci d'avance ^^
Mick
mais encore...
"Joël Descombes" a écrit dans le message de news:
Conseil d'ami...un excellent bouquin ASP.NET devrait fortement d'aider.
"Mick" a écrit :
> Bonjour, > je tente d'affiche une liste de questions et de réponses dans ma page, > simulant un Qcm. > J'ai donc un repeater pour les questions et un repeater imbriqué pour
chaque
> réponse. > > La ou je coince, c'est sur le point suivant. > Selon le cas, la question peut avoir 1 ou plusieurs réponses. > Si elle ne peut avoir qu'une seule réponse, je voudrais afficher des
radio
> button. > Si elle peut en avoir plusieurs, des checkbox. > > Dans mon *.aspx, je met ceci : > <td width="5%"> > <%# setCheckBoxOrRadio(DataBinder.Eval(Container.DataItem, > "AnswerId").ToString()) %> > </td> > > et dans mon *.aspx.cs > protected string setCheckBoxOrRadio(string selectedAnswerId) > { > //If Statement sur la question parente et sa propriété
HasSeveralAnswers
> Si 1 seule reponse > return ("<asp:RadioButton Runat="server" Checked="False" > GroupName='<%# DataBinder.Eval(Container.DataItem, "QId") %>' > ID="ClientCompanyTestQcmQuestionRadioPropositon" > BorderStyle=None></asp:RadioButton>"); > Si plusieurs reponses > return ("<asp:CheckBox Checked="False" > ID="ClientCompanyTestQcmQuestionChkPropositon" Runat="server" > Width="10" BorderStyle=None></asp:CheckBox>"); > } > > Helas, ca ne me retourne rien... > Un peu d'aide serait la bienvenue. > > merci d'avance ^^ > > > >
mais encore...
"Joël Descombes" <JolDescombes@discussions.microsoft.com> a écrit dans le
message de news:06037608-F7BC-4D7C-91F0-29E38190D800@microsoft.com...
Conseil d'ami...un excellent bouquin ASP.NET devrait fortement d'aider.
"Mick" a écrit :
> Bonjour,
> je tente d'affiche une liste de questions et de réponses dans ma page,
> simulant un Qcm.
> J'ai donc un repeater pour les questions et un repeater imbriqué pour
chaque
> réponse.
>
> La ou je coince, c'est sur le point suivant.
> Selon le cas, la question peut avoir 1 ou plusieurs réponses.
> Si elle ne peut avoir qu'une seule réponse, je voudrais afficher des
radio
> button.
> Si elle peut en avoir plusieurs, des checkbox.
>
> Dans mon *.aspx, je met ceci :
> <td width="5%">
> <%# setCheckBoxOrRadio(DataBinder.Eval(Container.DataItem,
> "AnswerId").ToString()) %>
> </td>
>
> et dans mon *.aspx.cs
> protected string setCheckBoxOrRadio(string selectedAnswerId)
> {
> //If Statement sur la question parente et sa propriété
HasSeveralAnswers
> Si 1 seule reponse
> return ("<asp:RadioButton Runat="server" Checked="False"
> GroupName='<%# DataBinder.Eval(Container.DataItem, "QId") %>'
> ID="ClientCompanyTestQcmQuestionRadioPropositon"
> BorderStyle=None></asp:RadioButton>");
> Si plusieurs reponses
> return ("<asp:CheckBox Checked="False"
> ID="ClientCompanyTestQcmQuestionChkPropositon" Runat="server"
> Width="10" BorderStyle=None></asp:CheckBox>");
> }
>
> Helas, ca ne me retourne rien...
> Un peu d'aide serait la bienvenue.
>
> merci d'avance ^^
>
>
>
>
Conseil d'ami...un excellent bouquin ASP.NET devrait fortement d'aider.
"Mick" a écrit :
> Bonjour, > je tente d'affiche une liste de questions et de réponses dans ma page, > simulant un Qcm. > J'ai donc un repeater pour les questions et un repeater imbriqué pour
chaque
> réponse. > > La ou je coince, c'est sur le point suivant. > Selon le cas, la question peut avoir 1 ou plusieurs réponses. > Si elle ne peut avoir qu'une seule réponse, je voudrais afficher des
radio
> button. > Si elle peut en avoir plusieurs, des checkbox. > > Dans mon *.aspx, je met ceci : > <td width="5%"> > <%# setCheckBoxOrRadio(DataBinder.Eval(Container.DataItem, > "AnswerId").ToString()) %> > </td> > > et dans mon *.aspx.cs > protected string setCheckBoxOrRadio(string selectedAnswerId) > { > //If Statement sur la question parente et sa propriété
HasSeveralAnswers
> Si 1 seule reponse > return ("<asp:RadioButton Runat="server" Checked="False" > GroupName='<%# DataBinder.Eval(Container.DataItem, "QId") %>' > ID="ClientCompanyTestQcmQuestionRadioPropositon" > BorderStyle=None></asp:RadioButton>"); > Si plusieurs reponses > return ("<asp:CheckBox Checked="False" > ID="ClientCompanyTestQcmQuestionChkPropositon" Runat="server" > Width="10" BorderStyle=None></asp:CheckBox>"); > } > > Helas, ca ne me retourne rien... > Un peu d'aide serait la bienvenue. > > merci d'avance ^^ > > > >