2011-11-21 100 views
0

我有一個dx:ASPxGridView與一個輸入類型,複選框列。當我從一個接着一個地刪除它時,它的刪除效果不錯,但是從上到下刪除時它不起作用。ASPxGridView刪除多行輸入類型複選框

這裏是我的代碼:

protected void grdItems_CustomCallback(object sender,  
    DevExpress.Web.ASPxGridView.ASPxGridViewCustomCallbackEventArgs e) 
{ 
    if (e.Parameters.StartsWith("del")) 
    { 
     var PurchaseCol = grdItems.Columns["Purchase"] as GridViewDataColumn; 
     var BoCustomer = BoCustomerPO; 
     for (int i = 0; i < grdItems.VisibleRowCount; i++) 
     {      
      var order = (HtmlInputCheckBox)grdItems.FindRowCellTemplateControl(i, PurchaseCol, "selectRec"); 
      if(order.Checked == true) 
      { 
       string orderID = Convert.ToString(order.Value); 

       BOCustomerPOBL.DeletePO(BoCustomerPO, orderID); 

       }                 
     } 
     BindGrid(); 
    } 


} 

FindRowCellTemplateControl,刪除一行在此控件再次找到,而不是得到第二行刪除的行之後。

回答

0

如果您剛剛從數據庫中刪除,網格並不知道您刪除了行。使用DeleteRow方法刪除行,並使用RowDeleting/RowDeleted事件進行其他刪除處理。 此外,您可以使用ASPxgridView選擇功能而不是帶有複選框的單元格模板。下面是刪除多個ASPxGridView行的完整的例子:

http://documentation.devexpress.com/#AspNet/CustomDocument3711

閱讀「刪除行」一節。