1. 程式人生 > >Aspxgridview實現checkbox全選

Aspxgridview實現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  ;

                                                           //ID為gridview的欄位名,可以一次取出多個欄位,例                                                              // GetSelectedFieldValues(“ID”,“FieldName1”,"Fieldname2",...);                 

                                                           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;