Home All Groups Group Topic Archive Search About

GridView - RadioButton for survey, idea needed

Author
6 Sep 2006 3:59 PM
Patrik
hello,

based on a client login I call a GridView that presents the appropriate
questionnaire for that person. I added three columns (template fields)
to the gridview that are radiobuttons. The client has to choose one
radiobutton per row (either YES, NO, or PERHAPS). Yes would have a
value of 1, No 2, perhaps 3.

1) I need to restrict the choice to one of the three radiobuttons ?
2) Need to insert the client's choice for every row in my table.

maybe someone could fix the general idea below or propose somethnig
else

For each row in Gridview1.rows
   If (radiobutton1 = true) then result = 1
   ElseIf (radiobutton1 = true) then result = 2
   ElseIf (radiobutton1 = true) then result = 3
   EndIf
   resultrow = result
Next
Then again, i would need as many resultrow variables as there are rows,
then I would do one insert because in my final table one line is one
client and all his answers

Thanks you

Author
7 Sep 2006 12:08 AM
Ken Cox [Microsoft MVP]
Salut Patrik,

It might be easier to put all of the choices in one column and then grab the
selected value from that. Here's a little sample in case it gives you an
idea. BTW, this uses the editable XMLDataSource from http://www.chaliy.com/
..

Let us know?

Ken
Microsoft MVP [ASP.NET]

<%@ Page Language="VB" %>
<%@ register assembly="Chaliy.Web.UI.UpdatableXmlDataSource"
namespace="Chaliy.Web.UI" tagprefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Radio Buttons in Gridview</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:gridview id="GridView1" runat="server" allowpaging="True"
allowsorting="True" autogeneratecolumns="False"
autogeneratedeletebutton="True" autogenerateeditbutton="True"
datasourceid="UpdatableXmlDataSource1">
            <columns>
                <asp:templatefield headertext="Choice"
sortexpression="Choice">
                    <edititemtemplate>
                        <asp:radiobuttonlist id="RadioButtonList1"
runat="server" selectedvalue='<%# Bind("Choice") %>'>
                            <asp:listitem value="1">Yes</asp:listitem>
                            <asp:listitem value="2">No</asp:listitem>
                            <asp:listitem value="3">Perhaps</asp:listitem>
                        </asp:radiobuttonlist>
                    </edititemtemplate>
                    <itemtemplate>
                        <asp:radiobuttonlist id="RadioButtonList1"
runat="server" selectedvalue='<%# Bind("Choice") %>'>
                            <asp:listitem value="1">Yes</asp:listitem>
                            <asp:listitem value="2">No</asp:listitem>
                            <asp:listitem value="3">Perhaps</asp:listitem>
                        </asp:radiobuttonlist>
                    </itemtemplate>
                </asp:templatefield>
                <asp:boundfield datafield="StringValue"
headertext="StringValue" sortexpression="StringValue" />
                <asp:boundfield datafield="CurrencyValue"
headertext="CurrencyValue" sortexpression="CurrencyValue" />
                <asp:boundfield datafield="Boolean" headertext="Boolean"
sortexpression="Boolean" />
            </columns>
        </asp:gridview>

        <asp:hyperlink id="AddNewHyperLink" runat="server"
navigateurl="~/AddNew.aspx">Add new</asp:hyperlink>
        <cc1:updatablexmldatasource id="UpdatableXmlDataSource1"
runat="server" datafile="~/App_Data/TestData.xml" filterxpath="/Item"
rootxpath="Data">
            <data>
            </data>
        </cc1:updatablexmldatasource>

    </div>
    </form>
</body>
</html>

<?xml version="1.0" encoding="utf-8"?>
<Data>
  <Item Choice="3" StringValue="Item1" CurrencyValue="1.99" Boolean="True"
/>
  <Item Choice="2" StringValue="Item2" CurrencyValue="2.99" Boolean="True"
/>
  <Item Choice="2" StringValue="Item3" CurrencyValue="3.99" Boolean="True"
/>
  <Item Choice="3" StringValue="Item4" CurrencyValue="5.99" Boolean="True"
/>
  <Item Choice="3" StringValue="Item5" CurrencyValue="4.99" Boolean="True"
/>
</Data>


Show quoteHide quote
"Patrik" <patrik.mah***@umontreal.ca> wrote in message
news:1157558386.977419.42580@e3g2000cwe.googlegroups.com...
> hello,
>
> based on a client login I call a GridView that presents the appropriate
> questionnaire for that person. I added three columns (template fields)
> to the gridview that are radiobuttons. The client has to choose one
> radiobutton per row (either YES, NO, or PERHAPS). Yes would have a
> value of 1, No 2, perhaps 3.
>
> 1) I need to restrict the choice to one of the three radiobuttons ?
> 2) Need to insert the client's choice for every row in my table.
>
> maybe someone could fix the general idea below or propose somethnig
> else
>
> For each row in Gridview1.rows
>   If (radiobutton1 = true) then result = 1
>   ElseIf (radiobutton1 = true) then result = 2
>   ElseIf (radiobutton1 = true) then result = 3
>   EndIf
>   resultrow = result
> Next
> Then again, i would need as many resultrow variables as there are rows,
> then I would do one insert because in my final table one line is one
> client and all his answers
>
> Thanks you
>
Are all your drivers up to date? click for free checkup

Author
7 Sep 2006 7:34 PM
Patrik
Thank you for the suggestion,

I have to admit this would be quite easier, but for the actual task I
have 5 choices (rating scale) and up to 40 questions, this would be to
costly in space and my clients are used to the layout on paper.

So I really have to figure it out. I CANNOT believe how difficult this
seems and that no one had a similar problem, I have been reading for
two days everywhere.

I'll try some more and then I'll surrender for your option I guess.


Ken Cox [Microsoft MVP] a écrit :

Show quoteHide quote
> Salut Patrik,
>
> It might be easier to put all of the choices in one column and then grab the
> selected value from that. Here's a little sample in case it gives you an
> idea. BTW, this uses the editable XMLDataSource from http://www.chaliy.com/
> .
>
> Let us know?
>
> Ken
> Microsoft MVP [ASP.NET]
>
> <%@ Page Language="VB" %>
> <%@ register assembly="Chaliy.Web.UI.UpdatableXmlDataSource"
> namespace="Chaliy.Web.UI" tagprefix="cc1" %>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>
> <script runat="server">
> </script>
>
> <html xmlns="http://www.w3.org/1999/xhtml" >
> <head runat="server">
>     <title>Radio Buttons in Gridview</title>
> </head>
> <body>
>     <form id="form1" runat="server">
>     <div>
>         <asp:gridview id="GridView1" runat="server" allowpaging="True"
> allowsorting="True" autogeneratecolumns="False"
> autogeneratedeletebutton="True" autogenerateeditbutton="True"
> datasourceid="UpdatableXmlDataSource1">
>             <columns>
>                 <asp:templatefield headertext="Choice"
> sortexpression="Choice">
>                     <edititemtemplate>
>                         <asp:radiobuttonlist id="RadioButtonList1"
> runat="server" selectedvalue='<%# Bind("Choice") %>'>
>                             <asp:listitem value="1">Yes</asp:listitem>
>                             <asp:listitem value="2">No</asp:listitem>
>                             <asp:listitem value="3">Perhaps</asp:listitem>
>                         </asp:radiobuttonlist>
>                     </edititemtemplate>
>                     <itemtemplate>
>                         <asp:radiobuttonlist id="RadioButtonList1"
> runat="server" selectedvalue='<%# Bind("Choice") %>'>
>                             <asp:listitem value="1">Yes</asp:listitem>
>                             <asp:listitem value="2">No</asp:listitem>
>                             <asp:listitem value="3">Perhaps</asp:listitem>
>                         </asp:radiobuttonlist>
>                     </itemtemplate>
>                 </asp:templatefield>
>                 <asp:boundfield datafield="StringValue"
> headertext="StringValue" sortexpression="StringValue" />
>                 <asp:boundfield datafield="CurrencyValue"
> headertext="CurrencyValue" sortexpression="CurrencyValue" />
>                 <asp:boundfield datafield="Boolean" headertext="Boolean"
> sortexpression="Boolean" />
>             </columns>
>         </asp:gridview>
>
>         <asp:hyperlink id="AddNewHyperLink" runat="server"
> navigateurl="~/AddNew.aspx">Add new</asp:hyperlink>
>         <cc1:updatablexmldatasource id="UpdatableXmlDataSource1"
> runat="server" datafile="~/App_Data/TestData.xml" filterxpath="/Item"
> rootxpath="Data">
>             <data>
>             </data>
>         </cc1:updatablexmldatasource>
>
>     </div>
>     </form>
> </body>
> </html>
>
> <?xml version="1.0" encoding="utf-8"?>
> <Data>
>   <Item Choice="3" StringValue="Item1" CurrencyValue="1.99" Boolean="True"
> />
>   <Item Choice="2" StringValue="Item2" CurrencyValue="2.99" Boolean="True"
> />
>   <Item Choice="2" StringValue="Item3" CurrencyValue="3.99" Boolean="True"
> />
>   <Item Choice="3" StringValue="Item4" CurrencyValue="5.99" Boolean="True"
> />
>   <Item Choice="3" StringValue="Item5" CurrencyValue="4.99" Boolean="True"
> />
> </Data>
>
>
> "Patrik" <patrik.mah***@umontreal.ca> wrote in message
> news:1157558386.977419.42580@e3g2000cwe.googlegroups.com...
> > hello,
> >
> > based on a client login I call a GridView that presents the appropriate
> > questionnaire for that person. I added three columns (template fields)
> > to the gridview that are radiobuttons. The client has to choose one
> > radiobutton per row (either YES, NO, or PERHAPS). Yes would have a
> > value of 1, No 2, perhaps 3.
> >
> > 1) I need to restrict the choice to one of the three radiobuttons ?
> > 2) Need to insert the client's choice for every row in my table.
> >
> > maybe someone could fix the general idea below or propose somethnig
> > else
> >
> > For each row in Gridview1.rows
> >   If (radiobutton1 = true) then result = 1
> >   ElseIf (radiobutton1 = true) then result = 2
> >   ElseIf (radiobutton1 = true) then result = 3
> >   EndIf
> >   resultrow = result
> > Next
> > Then again, i would need as many resultrow variables as there are rows,
> > then I would do one insert because in my final table one line is one
> > client and all his answers
> >
> > Thanks you
> >
Author
7 Sep 2006 8:37 PM
Patrik
Here's how I am solving it :
radiobuttonlist in the itemtemplate, i make it horizontal, then i add a
table on top of the grid to insert the headertext for the buttons.


Patrik a écrit :

Show quoteHide quote
> Thank you for the suggestion,
>
> I have to admit this would be quite easier, but for the actual task I
> have 5 choices (rating scale) and up to 40 questions, this would be to
> costly in space and my clients are used to the layout on paper.
>
> So I really have to figure it out. I CANNOT believe how difficult this
> seems and that no one had a similar problem, I have been reading for
> two days everywhere.
>
> I'll try some more and then I'll surrender for your option I guess.
>
>
> Ken Cox [Microsoft MVP] a écrit :
>
> > Salut Patrik,
> >
> > It might be easier to put all of the choices in one column and then grab the
> > selected value from that. Here's a little sample in case it gives you an
> > idea. BTW, this uses the editable XMLDataSource from http://www.chaliy.com/
> > .
> >
> > Let us know?
> >
> > Ken
> > Microsoft MVP [ASP.NET]
> >
> > <%@ Page Language="VB" %>
> > <%@ register assembly="Chaliy.Web.UI.UpdatableXmlDataSource"
> > namespace="Chaliy.Web.UI" tagprefix="cc1" %>
> > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> >
> > <script runat="server">
> > </script>
> >
> > <html xmlns="http://www.w3.org/1999/xhtml" >
> > <head runat="server">
> >     <title>Radio Buttons in Gridview</title>
> > </head>
> > <body>
> >     <form id="form1" runat="server">
> >     <div>
> >         <asp:gridview id="GridView1" runat="server" allowpaging="True"
> > allowsorting="True" autogeneratecolumns="False"
> > autogeneratedeletebutton="True" autogenerateeditbutton="True"
> > datasourceid="UpdatableXmlDataSource1">
> >             <columns>
> >                 <asp:templatefield headertext="Choice"
> > sortexpression="Choice">
> >                     <edititemtemplate>
> >                         <asp:radiobuttonlist id="RadioButtonList1"
> > runat="server" selectedvalue='<%# Bind("Choice") %>'>
> >                             <asp:listitem value="1">Yes</asp:listitem>
> >                             <asp:listitem value="2">No</asp:listitem>
> >                             <asp:listitem value="3">Perhaps</asp:listitem>
> >                         </asp:radiobuttonlist>
> >                     </edititemtemplate>
> >                     <itemtemplate>
> >                         <asp:radiobuttonlist id="RadioButtonList1"
> > runat="server" selectedvalue='<%# Bind("Choice") %>'>
> >                             <asp:listitem value="1">Yes</asp:listitem>
> >                             <asp:listitem value="2">No</asp:listitem>
> >                             <asp:listitem value="3">Perhaps</asp:listitem>
> >                         </asp:radiobuttonlist>
> >                     </itemtemplate>
> >                 </asp:templatefield>
> >                 <asp:boundfield datafield="StringValue"
> > headertext="StringValue" sortexpression="StringValue" />
> >                 <asp:boundfield datafield="CurrencyValue"
> > headertext="CurrencyValue" sortexpression="CurrencyValue" />
> >                 <asp:boundfield datafield="Boolean" headertext="Boolean"
> > sortexpression="Boolean" />
> >             </columns>
> >         </asp:gridview>
> >
> >         <asp:hyperlink id="AddNewHyperLink" runat="server"
> > navigateurl="~/AddNew.aspx">Add new</asp:hyperlink>
> >         <cc1:updatablexmldatasource id="UpdatableXmlDataSource1"
> > runat="server" datafile="~/App_Data/TestData.xml" filterxpath="/Item"
> > rootxpath="Data">
> >             <data>
> >             </data>
> >         </cc1:updatablexmldatasource>
> >
> >     </div>
> >     </form>
> > </body>
> > </html>
> >
> > <?xml version="1.0" encoding="utf-8"?>
> > <Data>
> >   <Item Choice="3" StringValue="Item1" CurrencyValue="1.99" Boolean="True"
> > />
> >   <Item Choice="2" StringValue="Item2" CurrencyValue="2.99" Boolean="True"
> > />
> >   <Item Choice="2" StringValue="Item3" CurrencyValue="3.99" Boolean="True"
> > />
> >   <Item Choice="3" StringValue="Item4" CurrencyValue="5.99" Boolean="True"
> > />
> >   <Item Choice="3" StringValue="Item5" CurrencyValue="4.99" Boolean="True"
> > />
> > </Data>
> >
> >
> > "Patrik" <patrik.mah***@umontreal.ca> wrote in message
> > news:1157558386.977419.42580@e3g2000cwe.googlegroups.com...
> > > hello,
> > >
> > > based on a client login I call a GridView that presents the appropriate
> > > questionnaire for that person. I added three columns (template fields)
> > > to the gridview that are radiobuttons. The client has to choose one
> > > radiobutton per row (either YES, NO, or PERHAPS). Yes would have a
> > > value of 1, No 2, perhaps 3.
> > >
> > > 1) I need to restrict the choice to one of the three radiobuttons ?
> > > 2) Need to insert the client's choice for every row in my table.
> > >
> > > maybe someone could fix the general idea below or propose somethnig
> > > else
> > >
> > > For each row in Gridview1.rows
> > >   If (radiobutton1 = true) then result = 1
> > >   ElseIf (radiobutton1 = true) then result = 2
> > >   ElseIf (radiobutton1 = true) then result = 3
> > >   EndIf
> > >   resultrow = result
> > > Next
> > > Then again, i would need as many resultrow variables as there are rows,
> > > then I would do one insert because in my final table one line is one
> > > client and all his answers
> > >
> > > Thanks you
> > >
Author
7 Sep 2006 10:02 PM
Ken Cox [Microsoft MVP]
Sounds good!

"Patrik" <patrik.mah***@umontreal.ca> wrote in message
news:1157661436.766353.26070@i42g2000cwa.googlegroups.com...
Here's how I am solving it :
radiobuttonlist in the itemtemplate, i make it horizontal, then i add a
table on top of the grid to insert the headertext for the buttons.


Patrik a écrit :

Show quoteHide quote
> Thank you for the suggestion,
>
> I have to admit this would be quite easier, but for the actual task I
> have 5 choices (rating scale) and up to 40 questions, this would be to
> costly in space and my clients are used to the layout on paper.
>
> So I really have to figure it out. I CANNOT believe how difficult this
> seems and that no one had a similar problem, I have been reading for
> two days everywhere.
>
> I'll try some more and then I'll surrender for your option I guess.
>
>
> Ken Cox [Microsoft MVP] a écrit :
>
> > Salut Patrik,
> >
> > It might be easier to put all of the choices in one column and then grab
> > the
> > selected value from that. Here's a little sample in case it gives you an
> > idea. BTW, this uses the editable XMLDataSource from
> > http://www.chaliy.com/
> > .
> >
> > Let us know?
> >
> > Ken
> > Microsoft MVP [ASP.NET]
> >
> > <%@ Page Language="VB" %>
> > <%@ register assembly="Chaliy.Web.UI.UpdatableXmlDataSource"
> > namespace="Chaliy.Web.UI" tagprefix="cc1" %>
> > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> >
> > <script runat="server">
> > </script>
> >
> > <html xmlns="http://www.w3.org/1999/xhtml" >
> > <head runat="server">
> >     <title>Radio Buttons in Gridview</title>
> > </head>
> > <body>
> >     <form id="form1" runat="server">
> >     <div>
> >         <asp:gridview id="GridView1" runat="server" allowpaging="True"
> > allowsorting="True" autogeneratecolumns="False"
> > autogeneratedeletebutton="True" autogenerateeditbutton="True"
> > datasourceid="UpdatableXmlDataSource1">
> >             <columns>
> >                 <asp:templatefield headertext="Choice"
> > sortexpression="Choice">
> >                     <edititemtemplate>
> >                         <asp:radiobuttonlist id="RadioButtonList1"
> > runat="server" selectedvalue='<%# Bind("Choice") %>'>
> >                             <asp:listitem value="1">Yes</asp:listitem>
> >                             <asp:listitem value="2">No</asp:listitem>
> >                             <asp:listitem
> > value="3">Perhaps</asp:listitem>
> >                         </asp:radiobuttonlist>
> >                     </edititemtemplate>
> >                     <itemtemplate>
> >                         <asp:radiobuttonlist id="RadioButtonList1"
> > runat="server" selectedvalue='<%# Bind("Choice") %>'>
> >                             <asp:listitem value="1">Yes</asp:listitem>
> >                             <asp:listitem value="2">No</asp:listitem>
> >                             <asp:listitem
> > value="3">Perhaps</asp:listitem>
> >                         </asp:radiobuttonlist>
> >                     </itemtemplate>
> >                 </asp:templatefield>
> >                 <asp:boundfield datafield="StringValue"
> > headertext="StringValue" sortexpression="StringValue" />
> >                 <asp:boundfield datafield="CurrencyValue"
> > headertext="CurrencyValue" sortexpression="CurrencyValue" />
> >                 <asp:boundfield datafield="Boolean" headertext="Boolean"
> > sortexpression="Boolean" />
> >             </columns>
> >         </asp:gridview>
> >
> >         <asp:hyperlink id="AddNewHyperLink" runat="server"
> > navigateurl="~/AddNew.aspx">Add new</asp:hyperlink>
> >         <cc1:updatablexmldatasource id="UpdatableXmlDataSource1"
> > runat="server" datafile="~/App_Data/TestData.xml" filterxpath="/Item"
> > rootxpath="Data">
> >             <data>
> >             </data>
> >         </cc1:updatablexmldatasource>
> >
> >     </div>
> >     </form>
> > </body>
> > </html>
> >
> > <?xml version="1.0" encoding="utf-8"?>
> > <Data>
> >   <Item Choice="3" StringValue="Item1" CurrencyValue="1.99"
> > Boolean="True"
> > />
> >   <Item Choice="2" StringValue="Item2" CurrencyValue="2.99"
> > Boolean="True"
> > />
> >   <Item Choice="2" StringValue="Item3" CurrencyValue="3.99"
> > Boolean="True"
> > />
> >   <Item Choice="3" StringValue="Item4" CurrencyValue="5.99"
> > Boolean="True"
> > />
> >   <Item Choice="3" StringValue="Item5" CurrencyValue="4.99"
> > Boolean="True"
> > />
> > </Data>
> >
> >
> > "Patrik" <patrik.mah***@umontreal.ca> wrote in message
> > news:1157558386.977419.42580@e3g2000cwe.googlegroups.com...
> > > hello,
> > >
> > > based on a client login I call a GridView that presents the
> > > appropriate
> > > questionnaire for that person. I added three columns (template fields)
> > > to the gridview that are radiobuttons. The client has to choose one
> > > radiobutton per row (either YES, NO, or PERHAPS). Yes would have a
> > > value of 1, No 2, perhaps 3.
> > >
> > > 1) I need to restrict the choice to one of the three radiobuttons ?
> > > 2) Need to insert the client's choice for every row in my table.
> > >
> > > maybe someone could fix the general idea below or propose somethnig
> > > else
> > >
> > > For each row in Gridview1.rows
> > >   If (radiobutton1 = true) then result = 1
> > >   ElseIf (radiobutton1 = true) then result = 2
> > >   ElseIf (radiobutton1 = true) then result = 3
> > >   EndIf
> > >   resultrow = result
> > > Next
> > > Then again, i would need as many resultrow variables as there are
> > > rows,
> > > then I would do one insert because in my final table one line is one
> > > client and all his answers
> > >
> > > Thanks you
> > >

Bookmark and Share