如何让ASPxRadioButtonList的每一项处于没有选中状态
如何让ASPxRadioButtonList的每一项处于没有选中状态

最简实现方案:这个是devexpress web 23才有的功能。
调用 ASPxRadioButtonList 内置的 ClearSelection() 方法,即可一键将所有选项重置为未选中状态,这是 DevExpress 官方推荐的标准用法,避免手动循环设置导致的状态异常问题。

避坑提醒
请勿通过遍历控件挨个执行 SetChecked(false),这种操作会破坏单选框组的内部状态管理,可能导致后续点击选项无法正常选中。

如果需要在页面初始化时默认取消全部选中,可以在 Page_Load 事件中加入 yourRadioButtonList.ClearSelection() 代码。


在 DevExpress Web 20.2 版本中,ASPxRadioButtonList 确实未内置 ClearSelection() 方法。你可以通过以下三种方法实现清空选中状态:

修改 SelectedIndex 属性 直接设置 rblDemo.SelectedIndex = -1,这是最直接高效的方式,后端会自动同步前端状态。
手动重置数据源绑定 在重新绑定数据源之前先执行 rblDemo.Items.Clear(),然后重新绑定枚举或列表数据。
前端JavaScript控制 通过 GetRadioButtonByIndex(i).SetChecked(false) 遍历所有选项,适合无需后端交互的场景。

//清空单选按钮列表选项被选中,便于激活事件
            
            rbl_xz_ss.SelectedIndex=-1;
            Rbl_xz_rmzy.SelectedIndex = -1;
            Rbl_xz_mlzy.SelectedIndex = -1;
            ASPxRadioButtonList_lpzy.SelectedIndex = -1;//以下无效,破坏了状态管理
            
            /*
            foreach (ListEditItem li in rbl_xz_ss.Items)
            {
                li.Selected = false;
            }
            foreach (ListEditItem li in Rbl_xz_rmzy.Items)
            {
                li.Selected = false;
            }
            foreach (ListEditItem li in Rbl_xz_mlzy.Items)
            {
                li.Selected = false;
            }
            foreach (ListEditItem li in ASPxRadioButtonList_lpzy.Items)
            {
                li.Selected = false;
            }
            */



渝公网安备 50011902000225号

渝ICP备18008233号-1