如何在DataList中控制单选按钮(Radio)
2007-02-28 19:24
405 查看
在网上看了很多关于如何在DataList中创建和控制Radio的文章,这里也说说我在实际应用中的解决方案。当然,方法都是人想出来的,如果哪位达人有更好的方法,希望可以交流交流。
背景:
网上很多帖子都问在DataList(或者DataGrid)的ItemTemplate列中嵌入单选按钮,如何能实现单选功能。我们知道,由于DataList的内部原因(我们这里不深究),当页面发送到客户端的时候,会为它的每一个DataListItem中的控件的Name属性自动赋值。
例如,DataList的ID为“DL”,嵌入DataList的单选按钮的Name值我们设为“radio”, 假设数据邦定后有3个DataListItem,那当页面发送到客户端的时候页面上的三个单选按钮的Name可能分别为"DL_ctl0_radio","DL_ctl1_radio","DL_ctl2_radio"。如此我们等到了三个完全不同的单选按钮,根本不可能实现三个按钮的单选效果。
解决方案:
我的解决方案就是我们在DataList数据绑定的时候动态写入Html代码。具体操作如下:
我们通常为了排版的方便经常会在ItemTemplate列中先放入一个HtmlDataTable,然后再在各个表格(HtmlTableCell)内放入我们需要的控件。但是这里,我们需要你将其中一个表格设为服务器控件(例如:ID为CellForRadio)以便在后台可以获取得到。
接着就是在数据绑定时向CellForRadio写入Html代码,如下所示:
private void DL_MyReport_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
private void btn_Execute_Click(object sender, System.EventArgs e)
{
for(int i = 0; i<DL.Items.Count; i++)
{
HtmlInputRadio rad_selected = (HtmlInputRadio)DL.Items[i].FindControl("CellForRadio").Controls[0];
if(rad_selected.Checked)
{
//DoSomething
}
}
}
如此,我们就可以像使用普通控件一样使用操作单选按钮了。
背景:
网上很多帖子都问在DataList(或者DataGrid)的ItemTemplate列中嵌入单选按钮,如何能实现单选功能。我们知道,由于DataList的内部原因(我们这里不深究),当页面发送到客户端的时候,会为它的每一个DataListItem中的控件的Name属性自动赋值。
例如,DataList的ID为“DL”,嵌入DataList的单选按钮的Name值我们设为“radio”, 假设数据邦定后有3个DataListItem,那当页面发送到客户端的时候页面上的三个单选按钮的Name可能分别为"DL_ctl0_radio","DL_ctl1_radio","DL_ctl2_radio"。如此我们等到了三个完全不同的单选按钮,根本不可能实现三个按钮的单选效果。
解决方案:
我的解决方案就是我们在DataList数据绑定的时候动态写入Html代码。具体操作如下:
我们通常为了排版的方便经常会在ItemTemplate列中先放入一个HtmlDataTable,然后再在各个表格(HtmlTableCell)内放入我们需要的控件。但是这里,我们需要你将其中一个表格设为服务器控件(例如:ID为CellForRadio)以便在后台可以获取得到。
接着就是在数据绑定时向CellForRadio写入Html代码,如下所示:
private void DL_MyReport_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
private void btn_Execute_Click(object sender, System.EventArgs e)
{
for(int i = 0; i<DL.Items.Count; i++)
{
HtmlInputRadio rad_selected = (HtmlInputRadio)DL.Items[i].FindControl("CellForRadio").Controls[0];
if(rad_selected.Checked)
{
//DoSomething
}
}
}
如此,我们就可以像使用普通控件一样使用操作单选按钮了。
相关文章推荐
- 一组单选按钮radio如何进行控制
- 一组单选按钮radio如何进行控制
- jQuery如何获取选中单选按钮radio的值
- jQuery如何获取选中单选按钮radio的值
- html中的单选按钮radio如何实现可同时选中多个值进行表单提交
- android studio 如何实现RadioBotto和RadioGroup来实现单选按钮的选择
- 如何判断单选按钮radio被选中
- Jquery如何获得选中Radio单选按钮的值
- html中点击radio后的文字相当于选中该单选按钮如何实现?怎么实现两个redio,选中一个,取消另一个?
- JS如何获取和改变 单选按钮radio选中的值
- VC编程中,如何使用Radio单选按钮?
- 【特种兵PPT教程】如何在PPT中插入单选按钮、复选框?
- input 单选按钮radio 取消选中
- 如何对radio box 按钮分组并且互斥
- 如何在帧上添加代码来控制按钮及影片剪辑的行为
- vc 一组单选按钮互斥的具体实现!!以及mfc内部如何实现具体的分组!!
- jQuery设置单选按钮radio选中/不可用的实例
- JS控制根据所传数据选中多选、单选按钮
- .net中单选按钮RadioButton,RadioButtonList 以及纯Html中radio的用法实例?
- 在DataGrid中添加Radio(单选按钮)列