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;

原文地址:https://www.cnblogs.com/ydfq-home/p/5017415.html