How to put a full radio button list in each row of datagrid?

J

John Smith

Hello,

I have a datagrid where I display images. I want visitors to be able
to rate the images on a scale of 1 to 10 by clicking a radio button,
which will cause an auto-postback. In that auto-postback event, I
want to be able to identify which row caused it, and determine which
value was selected. Then I want to write that information to a
database.

All the examples I have found concerning radio button lists and the
datagrid have to do with putting one radio button per row, to let
users select the row. My request is different, in that in each row,
there will be one radio button list with 10 buttons, from 1 to 10.

I can put the radio button list in the datagrid, and the auto-postback
feature does cause the form to post (because the screen blinks), but I
don't know the name of the raised event, so I can't begin to write the
handler. Also, I wouldn't know how to get the row and the value, thus
my posting here.

Thank you very much.

John
 
D

David Churchill

I have a similiar situation here's what I did:

In my datagrid I added these columns:

<ItemTemplate>
<asp:RadioButton id="rdBtnAccept" Text="Yes" Runat="server"
GroupName="Accept" AutoPostBack="True" OnCheckedChanged="rdbtnCheckChg">
</asp:RadioButton>
<asp:RadioButton id="rdBtnDeny" Text="No" Runat="server"
GroupName="Accept">
</asp:RadioButton>
</ItemTemplate>

Then in my code behind file:

public void rdbtnCheckChg(object sender, System.EventArgs e)
{
RadioButton myBtn = (RadioButton)sender;
DataGridItem myGridItem = (DataGridItem)myBtn.Parent.Parent;
if(myBtn.Checked)
{
grdTrips.Columns[1].Visible = true;
grdTrips.EditItemIndex = myGridItem.ItemIndex;
BindGrid();
}
}

You will also have to add an EditCommandColumn to generate the OnUpdate
event to write to the database, you can specify your event handler for this
event in your aspx file: <asp:DataGrid id="myGrid"
OnUpdateCommand="myUpdateHandler" ...>

HTH,
David Churchill
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,020
Latest member
GenesisGai

Latest Threads

Top