Hi,
Please refer below code
HTML
<div>
<asp:GridView ID="gvData" runat="server" AutoGenerateColumns="false" OnRowDataBound="Data_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="Id">
<ItemTemplate>
<asp:Label ID="lblId" Text='<%#Eval("ID") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:TemplateField HeaderText="Gender">
<ItemTemplate>
<asp:RadioButtonList ID="rbtnSex" runat="server">
</asp:RadioButtonList>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Name");
dt.Rows.Add("A01", "Rob");
dt.Rows.Add("B02", "Mike");
dt.Rows.Add("A03", "Alex");
dt.Rows.Add("B04", "Steve");
gvData.DataSource = dt;
gvData.DataBind();
}
}
protected void Data_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if ((e.Row.FindControl("lblId") as Label).Text.Contains("A"))
{
List<ListItem> items = new List<ListItem>();
items.Add(new ListItem("Male", "1"));
items.Add(new ListItem("Female", "2"));
RadioButtonList rbtnList = (e.Row.FindControl("rbtnSex") as RadioButtonList);
rbtnList.DataSource = items.ToArray();
rbtnList.DataBind();
}
}
}
Screenshot
