1、在DataGrid里建立一个模板列,打开模板,在Header里放一个CheckBox控件,改名为:SelAll。在Item里放一个CheckBoxList控件,改名为:SelNum
2、将SelAll控件的AutoPostBack属性设置为true
3、绑定商品的ID到CheckBoxList控件,在DataGrid的ItemDataBound事件中加入:












我们只需要CheckBoxList控件的一个组件
4、在DataGrid的ItemCreated事件里创建SelAll的CheckedChanged事件:








加入SelAll的CheckedChanged事件的方法:
1
protected
void
selall_CheckedChanged(
object
sender, System.EventArgs e)
2
{
3
4
CheckBox chk = this.GetHeaderCheckBox(this.DataGrid1);
5
6
foreach ( DataGridItem i in this.DataGrid1.Items )
7
{
8
9
CheckBoxList inChk = (CheckBoxList)i.FindControl("SelNum");
10
11
if ( i.Cells[0].Enabled == true )
12
inChk.Items[0].Selected = chk.Checked;
13
14
}
15
16
}

2



3

4

5

6

7



8

9

10

11

12

13

14

15

16

行4用到方法GetHeaderCheckBox,作用是用来确定选定状态的。




























5、最后我们通过一个单击按钮来得到我们需要的ID值。在按钮的Click事件中加入:













