Как еще раз проверить флажок после удаления какого-либо элемента по клику? - PullRequest
0 голосов
/ 02 марта 2012

У меня есть список данных, если у меня есть флажок, я выбираю флажок на стороне клиента с помощью jquery, основываясь на этом флажке. Я удаляю элемент, немногие Элемент не удаляется, так как есть экземпляр в другой таблице , элементы, которые не были удалены, я хочу показать флажок, поскольку проверка и сообщение об ошибке показывают, что выбранный элемент нельзя удалить.

после удаления элемента я получаю не удаленный идентификатор элемента, но как снова установить флажок на основе этого идентификатора.

на удаленных бтн

  foreach (DataListItem dl in dltlist1.Items)
        {
            if ((((CheckBox)dl.FindControl("Chkbox")).Checked))
            {
                ImageButton img = (dl.FindControl("btn1") as ImageButton);
                string[] str = img.CommandArgument.ToString().Split(';');
                Id = Convert.ToInt32(str[0]);
                IdList.Add(Id);
            }
        }
List<Tuple<int, int>> x = objBAL.Delete(IdList);
Tuple<int, int> temp = new Tuple<int, int>(item.Key, 1); // I am getting here non deleted key

после удаления элемента я снова связываю список данных.

плз, кто-нибудь, помогите мне, как это сделать?

1 Ответ

0 голосов
/ 02 марта 2012

После повторного связывания DataList вы можете циклически перебирать элементы DataList и сопоставлять не удаленные ключи с DataKey , и если вы найдете совпадение, вы можете перепроверить флажок.

Пример:

         //here ArrayList contains the ids to match
         ArrayList a=new ArrayList();
         a.Add(201105);
         a.Add(201106);
         //loop through the items in the datalist
         for (int i = 0; i < DataList1.Items.Count;i++ )
         {
             //check if the list contains the items 
             if (a.Contains(Convert.ToInt32(DataList1.DataKeys[i])))
             {
                 (DataList1.Items[i].FindControl("CheckBox1") as CheckBox).Checked = true;
             }
         }

Для этого идеально подойдет любая коллекция или универсальный объект, имеющий метод .Contains ().

надеюсь, это поможет.

...