chowdary2005 Ответов: 1

Элементы Listview не очищаются


Всем привет,

Я использую C#, .net 2.0;

Я принимаю входные данные от пользователя, храню и показываю их с помощью элемента управления ListView. Мне нужно обеспечить удаление строки, очистить все строки, добавить строки в этот список.

Когда пользователь выбирает строку и нажимает на кнопку Удалить, выбранные строки будут удалены. Когда пользователь нажимает на кнопку Очистить, мне нужно очистить все строки из списка.

Я использую следующий код.

Проблема :- когда я использовать удалить, очистить кнопку пункты расчищают от просмотра, а не от экземпляра элемента управления ListView. Это означает, что когда я пытаюсь получить доступ к входным данным от пользователя, он отображается вместе с предыдущими результатами.

private void btnClear_Click(object sender, EventArgs e)
       {
           try {
               if (lstViewCPTCompliance.Items.Count > 0)
               {
                   lstViewCPTCompliance.Items.Clear();
                   lstViewCPTCompliance.Update();
                   lstViewCPTCompliance.Refresh();
               }
           }
           catch (Exception ex)
           {
               MessageBox.Show(ex.Message.ToString());
           }
       }

       private void btnDelete_Click(object sender, EventArgs e)
       {
           try {
               for (int i = 0; i < lstViewCPTCompliance.Items.Count; i++)
               {
                   if (lstViewCPTCompliance.Items[i].Selected == true)
                   {
                       lstViewCPTCompliance.Items[i].Remove();
                       lstViewCPTCompliance.Update();
                       lstViewCPTCompliance.Refresh();
                   }

               }
           }
           catch (Exception ex)
           {
               MessageBox.Show(ex.Message.ToString());
           }
       }

Member 12346239

Вы хотите очистить/ удалить всю строку из экземпляра списка ?

chowdary2005

Да.

Philippe Mori

Не повторяйте один и тот же код дважды.

chowdary2005

ладно

1 Ответов

Рейтинг:
0

Member 12346239

private void btnClear_Click(object sender, EventArgs e)
       {
           try {
               for (int i = 0; i < lstViewCPTCompliance.Items.Count; i++)
               {                   
                       lstViewCPTCompliance.Items[i].Remove();
                       lstViewCPTCompliance.Update();
                       lstViewCPTCompliance.Refresh();
                  
               }
           }
        
           catch (Exception ex)
           {
               MessageBox.Show(ex.Message.ToString());
           }
       }
 
       private void btnDelete_Click(object sender, EventArgs e)
       {
           try {
               for (int i = 0; i < lstViewCPTCompliance.Items.Count; i++)
               {
                   if (lstViewCPTCompliance.Items[i].Selected == true)
                   {
                       lstViewCPTCompliance.Items[i].Remove();
                       lstViewCPTCompliance.Update();
                       lstViewCPTCompliance.Refresh();
                   }
 
               }
           }
           catch (Exception ex)
           {
               MessageBox.Show(ex.Message.ToString());
           }
       }


Philippe Mori

Используйте кодовый блок. Это нечитабельно и даже не стоит одного очка, если не отформатировано. Если вы не приложите усилий, чтобы отформатировать его, то я не приложу усилий, чтобы прочитать его.