DataGrid中RadioButtonList的问题,困扰N天了,请帮忙看下
先谢谢sonkey(小恐龙)那天的回答~~
代码如下
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
System.Web.UI.WebControls.RadioButtonList myRBL = new RadioButtonList();
string[] rblText = new string[]{"1","2"};
//string[] rblValue = new string[]{"1","2"};
myRBL.DataSource = rblText;
myRBL.DataBind();
myRBL.Attributes.Add("id","rbl" + e.Item.Cells[0].Text);
myRBL.Attributes.Add("RepeatDirection","Horizontal");
e.Item.Cells[1].Controls.Add(myRBL);
}
private void Button1_Click(object sender, System.EventArgs e)
{
for(int i=0;i<DataGrid1.Items.Count;i++)
{
String name="rb1"+DataGrid1.Items[i].Cells[0].Text;
RadioButtonList radio=(RadioButtonList)DataGrid1.Items[i].Cells[1].FindControl(name);
String val=radio.SelectedItem.Text;
Response.Write(name);
}
}
可以生成DataGrid中每行的RadioButtionList,但是取值时却不能,我看了一下html的源码,Radio的id都是DataGrid1__ctl2__ctl0_0这样的,而且RadioButtonList的排列还是垂直的没有水平
myRBL.Attributes.Add("id","rbl" + e.Item.Cells[0].Text);
myRBL.Attributes.Add("RepeatDirection","Horizontal");
这两句好像都没有起作用
我就是想实现在DataGrid每行都通过RadioButtonList生成一组Radio然后动态赋予它id,再在后台通过id把所选中的radio item的value或者text取出来.