DeveXpress ASPxGridView获取要批量删除或者批量更改的Id(AspxGridView复选框的全选|反选功能)

来源:互联网 发布:云南师范大学网络教学 编辑:程序博客网 时间:2024/05/16 19:20

DeveXpress ASPxGridView获取要批量删除或者批量更改的Id(AspxGridView复选框的全选|反选功能)

      第一步,显示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;

       接下来步骤就和写其他的全选删除一样,自己可以试着去写写。

0 0
原创粉丝点击