2016-03-29 8 views
0

Tek veya gruplanmış seçili öğeleri AspxCheckbox liste denetiminden (devexpress control) kaldırmak için düğmesine tıklatmak istiyorum. Aşağıdaki kodu kullanıyorum. Seçilen ilk öğeyi sildi. 10 arasında 5 maddeyi (indeks 5, 6, 7,8) seçtiğimde, seçilmemiş olan 5. konumdan üst konumlandırılmış öğelere (indeks 5, 4, 3) silinmeye başlar. Lütfen bunu düzeltmeme yardım et.AspxCheckbox Listesi Seçilen Öğeler, Asp.net C'deki selecteditems esas alınarak silinmez. C#

protected void cbpNDTStaffs_Callback(object sender, DevExpress.Web.CallbackEventArgsBase e) 
    { 
     if (e.Parameter == "RemoveNDTStaff") 
     { 
      string Message = string.Empty; 

      int i; 
      for (i = 0; i <= ChklstNDTStaffs.SelectedItems.Count - 1; i++) 
      { 
       string EmpIDAndName = string.Empty; 
       string EID = ""; 
       if (ChklstNDTStaffs.SelectedItems[i].Selected) 
       { 
        EmpIDAndName = Convert.ToString(ChklstNDTStaffs.SelectedItems[i].Text); 
        EID = Convert.ToString(ChklstNDTStaffs.SelectedItems[i].Value); 

        Int64 ReturnValue = DataAccess.NDTDataAccess.UpdateNDTStaffs(EID, CurrentlyLoggedUserName); 

        if (ReturnValue > 0) 
        { 
         Message = "Selected NDT Staff(s) Removed Successfully."; 
        } 
       } 
      } 

      if (Message.Length > 0) 
      { 
       ChklstNDTStaffs.DataBind(); 
       cbpNDTStaffs.JSProperties["cpIsUpdated"] = Message; 
      } 
      else 
      { 
       cbpNDTStaffs.JSProperties["cpIsUpdated"] = ""; 
      } 
     } 

cevap

0
for (i = 0; i <= ChklstNDTStaffs.Items.Count - 1; i++) 
     { 
      string EmpIDAndName = string.Empty; 
      string EID = ""; 
      if (ChklstNDTStaffs.Items[i].Selected==true) 
      { 
       EmpIDAndName = Convert.ToString(ChklstNDTStaffs.Items[i].Text); 
       EID = Convert.ToString(ChklstNDTStaffs.Items[i].Value); 

       Int64 ReturnValue = DataAccess.NDTDataAccess.UpdateNDTStaffs(EID, CurrentlyLoggedUserName); 

       if (ReturnValue > 0) 
       { 
        Message = "Selected NDT Staff(s) Removed Successfully."; 
       } 
      } 
     } 
+0

Teşekkür Kaushik'in. Ama gerekli sonucu alamadım. Benim sorunum, AspxCheckBoxList içinde alttan öğeleri seçiyorsam, sonra kaldır düğmesini tıklayın, o zaman iyi çalışıyor. Başka bir durumda, baştan itibaren öğeleri kaldırmak için seçtiğimde, sadece en çok silinen ilk kayıt silinmez. bunun yerine bazı seçilmemiş Öğeler silinir. Anlayışım, ilk öğeyi sildikten sonra, ikinci öğe aspxcheckboxlist için uygun seçili öğeyi silememesi için dizin değiştirildi. Anlayışım doğru mu? pls bunu işlemek için bana rehberlik –

İlgili konular