[求助]有关datagrid的问题,高手快来帮帮忙拉
请问datagrid里加了radiobutton的模板列后,为什么每行radiobutton间不能排斥啊?(已经赋了相同的groupname了)
推荐阅读
需要自己写代码控制的.给你一段以前写的:
private void rad_checkedchanged(object sender, system.eventargs e)
{
//get a reference to our radiobuttonlist;
radiobutton myrbl = (radiobutton)sender;
//you can just travel up the chain of control parents to get that datagriditem, usually it is only two levels up.
datagriditem mydgitem = (datagriditem)myrbl.parent.parent;
myrbl=(radiobutton)mydgitem.cells[0].controls[1];
if(myrbl.checked==true)
{
strgroup.value=((linkbutton)mydgitem.findcontrol("lnkabbr")).text;
session["companyenglishname"]=mydgitem.cells[3].text;
checkenablefalse(mydgitem.itemindex);
}
}
private void checkenablefalse(int index)
{
foreach(datagriditem item in mydatagrid.items)
{
if(item.itemindex!=index)
{
radiobutton _rad=(radiobutton)item.findcontrol("rad");
_rad.checked=false;
}
}
}
private void mydatagrid_itemcreated(object sender, system.web.ui.webcontrols.datagriditemeventargs e)
{
foreach(datagriditem item in mydatagrid.items)
{
radiobutton mylist =(radiobutton)item.findcontrol("rad");
mylist.checkedchanged += new system.eventhandler(this.rad_checkedchanged);
}
}
注意把radio的autopostback设置为true
其实在客户端用javsscript来判断和控制就可以了:
javascript:
myradiobtn=document.activeelement;
if(myradiobtn..tagname=="input" && myradiobtn.type="radio")
{
if(myradiobtn.checked)
{
let other radiobutton false
}
}


讨论区