一个DataGrid 的CheckBoxColumn

最近,因为需要用到在DATAGRID 中放置一些CheckBox 来判断是否选中某一行。本来可以使用javascript来实现。不过使用脚本实现,调试起来十分不方便,因此做一个后台代码的CheckBox 列来控制。
需要制作自定义功能的DATAGRID 列,需要继承DataGridColumn 这个类。然后重写 InitializeCell 这个方法来进行对这个自定义的列进行控制。代码中包含了记录选中的项,和没有被选中的项,并且可以在一个DataGrid中同时使用多个这样的CheckBox 列,只需要使用时通过ID属性区分就可以。
代码如下:
 1 None.gif public   override   void  InitializeCell(TableCell cell,  int  columnIndex, ListItemType itemType) 
 2 ExpandedBlockStart.gifContractedBlock.gif         dot.gif {
 3InBlock.gif          
 4InBlock.gif            //let the base class initialize the cell
 5InBlock.gif            base.InitializeCell(cell, columnIndex, itemType);
 6InBlock.gif
 7InBlock.gif            //we don't want to add a checkbox to the header.
 8ExpandedSubBlockStart.gifContractedSubBlock.gif            if(itemType == ListItemType.EditItem || itemType == ListItemType.Item || itemType == ListItemType.AlternatingItem || itemType == ListItemType.SelectedItem)dot.gif{
 9InBlock.gif
10InBlock.gif                HtmlInputCheckBox checkbox = new HtmlInputCheckBox();
11InBlock.gif                //assign an ID that we can use to find the control later
12InBlock.gif                if(_strId==String.Empty)
13ExpandedSubBlockStart.gifContractedSubBlock.gif                dot.gif{
14InBlock.gif                    checkbox.ID = "checkboxCol";
15ExpandedSubBlockEnd.gif                }

16InBlock.gif                else
17ExpandedSubBlockStart.gifContractedSubBlock.gif                dot.gif{
18InBlock.gif                    checkbox.ID=myID;
19ExpandedSubBlockEnd.gif                }

20InBlock.gif        
21InBlock.gif                cell.Controls.Add(checkbox);
22InBlock.gif
23ExpandedSubBlockEnd.gif            }

24InBlock.gif
25ExpandedBlockEnd.gif        }

这里只是继承DataGridColumn 重写InitializeCell函数的部分。

如何使用的代码片段
None.gif < dgctl:CheckBoxColumn  HeaderText ="用户名"  ID ="chkUserName" >
None.gif                                    
< HeaderStyle  HorizontalAlign ="Center" ></ HeaderStyle >
None.gif                                
</ dgctl:CheckBoxColumn >
None.gif                                
< dgctl:CheckBoxColumn  HeaderText ="用户详细信息"  ID ="chkUserDetail" >
None.gif                                    
< HeaderStyle  HorizontalAlign ="Center" ></ HeaderStyle >
None.gif                                
</ dgctl:CheckBoxColumn >

完整代码下载

转载于:https://www.cnblogs.com/xivi/archive/2005/11/07/270616.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值