powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помоги разобраться в проблеме с listView1.Groups[i].Header +="123";
2 сообщений из 2, страница 1 из 1
Помоги разобраться в проблеме с listView1.Groups[i].Header +="123";
    #39133801
Mixon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую всех!

Есть listView1 с добавляемыми группами и элементами, надо после
заполнения списка в Header группы вывести статистику(в примере сумма).

Данные заполняются не равномерно, то есть не все элементы группы добавляются одновременно,
и в этом случае я вынес подсчет в отдельную функцию
данный пример работает ну очень медленно и тормозит на
стоке listView1.Groups[i].Header += z.ToString();//тут тупит

Подскажите есть ли возможность ускорить процесс!

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
private void button3_Click(object sender, EventArgs e)
        {
            listView1.Groups.Clear();
            listView1.Items.Clear();
            for(int i =0;i<2000;i++)
            {
                Random rnd = new Random();
                int k = rnd.Next(1, 13);
                listView1.Groups.Add(new ListViewGroup("zzz "));
                for(int j=0;j<k+1;j++)
                {
                    ListViewItem item = new ListViewItem();
                    item.Text = "zzz";
                    item.SubItems.Add(rnd.Next(1, 13).ToString());
                    item.Group = listView1.Groups[listView1.Groups.Count - 1];
                    listView1.Items.Add(item);
                }
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {
            for(int i=0;i<listView1.Groups.Count;i++)
            {
                int z = 0;
                for (int j = 0; j < listView1.Groups[i].Items.Count; j++)
                    z += Convert.ToInt32(listView1.Groups[i].Items[j].SubItems[1].Text);
                listView1.Groups[i].Header += z.ToString();//тут тупит
            }
        }
...
Рейтинг: 0 / 0
Помоги разобраться в проблеме с listView1.Groups[i].Header +="123";
    #39136256
Mixon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Отвечу сам себе

private void button4_Click(object sender, EventArgs e)
{
listView1.BeginUpdate();
for(int i=0;i<listView1.Groups.Count;i++)
{
int z = 0;
for (int j = 0; j < listView1.Groups[i].Items.Count; j++)
z += Convert.ToInt32(listView1.Groups[i].Items[j].SubItems[1].Text);
listView1.Groups[i].Header += z.ToString();//тут тупит
}
listView1.EndUpdate();
}
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помоги разобраться в проблеме с listView1.Groups[i].Header +="123";
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]