ASPxGridView实现checkbox全选反选(自带的ShowSelectCheckBOx)并获取选中checkbox对应的值集合
第一步,显示checkbox按钮;
点击AspxGridView的columns,你可以直接选择增加一行Command Column或者随便选择一种然后点击Change To Commadn Column;默认的ShowSelectCheckBOx是true,我们可以不用管,这样你就看到每行都有checkBox按钮了。
第二步,表头部显示CheckBox,点击实现全选|反选功能;
我们切换回源代码,找到AspxGridView的GridViewCommandColumn列,在该列中增加
<HeaderTemplate>
<dx:ASPxCheckBox ID="DchkAll" runat="server" ClientSideEvents-CheckedChanged="function(s,e){DgvwEmail.SelectAllRowsOnPage(s.GetChecked());}">
</dx:ASPxCheckBox>
</HeaderTemplate>
<HeaderStyle HorizontalAlign="Center" />
我们在HeaderTemplate增加一个Dev的CheckBox按钮,设置他的样式为HorizontalAlign="Center" ,呈居中状态,我们给这个CheckBox按钮ClientSideEvents-CheckedChanged增加了一个方法function(s,e){DgvwEmail.SelectAllRowsOnPage(s.GetChecked());},DgvwEmail为你AspxGridView控件的ID,到此,你就实现了表头部的全选|反选功能了;
第三步,获取选中行的ID,实现批量删除或更改;
我们在页面中增加一个Dev的Button按钮,给按钮添加点击事件;
首先我们写一个方法获取到所有选中行的ID
protected string GetDelID()
{ string delId = "";
//获取选中的记录Id
List<object> lSelectValues = DgvwEmail.GetSelectedFieldValues("ID");
for (int i = 0; i < lSelectValues.Count; i++)
{
delId += lSelectValues[i] + ",";
}
delId = delId.Substring(0, delId.LastIndexOf(','));
return delId;
}
这个方法获取到了选中行的的Id,通过AspxGridView.GetSelectedFieldValues("ID")获取绑定数据时的Id主键,然后遍历所获得ID;