Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
1 / 1 / 0
Регистрация: 29.03.2017
Сообщений: 52
1

Обновление списка ListView

01.05.2017, 00:28. Показов 1363. Ответов 7
Метки нет (Все метки)

Делаю чат, хочу создать возможность поставить настроение перед ником. Для этого нужно обновлять список через таймер.
Delphi
1
2
3
4
5
procedure TForm1.Timer2Timer(Sender: TObject);
begin
 ListView1.Items.BeginUpdate;
ListView1.Items.EndUpdate;
end;
Смайлик настроения меняется только если перезайти. А так просто меркает ListView

Добавлено через 2 минуты
Смайлики добавляю в событии коннекта к серверу
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.05.2017, 00:28
Ответы с готовыми решениями:

ListView лагает при прокрутке загруженного списка
ListView лагает при прокрутке загруженного списка, при загрузке 500 строк, при прокрутке, лагов...

Автоматическое обновление списка
Добрый день. Есть в нете код для обновления списка drivecombobox. Вставил флешку, нажал на кнопку...

Обновление списка процессов в Listview
Здравствуйте. Нужно выводить список процессов с обовлением каждые 0,5 секунд. Обновление должно...

Обновление списка файлов и папок в ListView, желательно не по таймеру
Делаю простой файловый менеджер (аля проводник), в принципе уже почти всё сделал, но понимаю что...

7
87 / 87 / 65
Регистрация: 22.05.2014
Сообщений: 485
01.05.2017, 12:45 2
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TForm1.Timer1Timer(Sender: TObject);
var
 i, iSelected: Integer;
begin
 if ListView1.Selected <> nil then
   iSelected := ListView1.Selected.Index
 else
   iSelected := 0;
 ListView1.Items.BeginUpdate;
 try
   ListView1.Clear;
   for i := 0 to 10 do
     ListView1.Items.Add.Caption := IntToStr(i);
   if iSelected < ListView1.Items.Count then
     ListView1.Selected := ListView1.Items[iSelected]
 finally
   ListView1.Items.EndUpdate
 end
end;
1
1 / 1 / 0
Регистрация: 29.03.2017
Сообщений: 52
01.05.2017, 13:04  [ТС] 3
Спасибо!!
0
1 / 1 / 0
Регистрация: 29.03.2017
Сообщений: 52
02.05.2017, 21:14  [ТС] 4
У меня не получается сделать под свой LIstView. Дело в том, что мои итемы не integer.
Добавляются туда клиенты чата так
Delphi
1
2
3
4
5
6
7
8
procedure
    var
      Item: TListItem;
    begin
      Item := Listview1.Items.Add;
      Item.Data := AContext;
      Item.Caption:='avatar';
      Item.SubItems.Add(name);
Как изменить код, который написали выше, под мой ListView
Просто когда я пишу этот код
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TForm1.Timer1Timer(Sender: TObject);
var
 i, iSelected: Integer;
begin
 if ListView1.Selected <> nil then
   iSelected := ListView1.Selected.Index
 else
   iSelected := 0;
 ListView1.Items.BeginUpdate;
 try
   ListView1.Clear;
   for i := 0 to 10 do
     ListView1.Items.Add.Caption := IntToStr(i);
   if iSelected < ListView1.Items.Count then
     ListView1.Selected := ListView1.Items[iSelected]
 finally
   ListView1.Items.EndUpdate
 end
end;
То у меня обновляется список и пропадает подключившийся клиент
0
3834 / 3266 / 857
Регистрация: 29.08.2013
Сообщений: 21,477
Записей в блоге: 2
02.05.2017, 22:01 5
Цитата Сообщение от serjAk1337 Посмотреть сообщение
То у меня обновляется список
зачем же ты делаешь ListView1.Clear;??
0
1 / 1 / 0
Регистрация: 29.03.2017
Сообщений: 52
03.05.2017, 16:56  [ТС] 6
Даже если не стирать, то клиент пропадает

Добавлено через 12 минут
Не пропадает, а не обновляет его. Добавлять от 1 до 10 строчки и их обновляет, а тот который подключился нет

Добавлено через 17 часов 56 минут
До сих пор не разобрался. Вообщем, если я ставлю предложенный выше код, то при подключении пользователя(лей), то он пропадает и таблица заполняется пустым списком и в первом столбике появляются цифры от 1 до 10. Кто знает как исправить? Пожалуйста помогите
0
3834 / 3266 / 857
Регистрация: 29.08.2013
Сообщений: 21,477
Записей в блоге: 2
03.05.2017, 18:32 7
Цитата Сообщение от serjAk1337 Посмотреть сообщение
Кто знает как исправить?
что исправить? у тебя код такой
0
1 / 1 / 0
Регистрация: 29.03.2017
Сообщений: 52
03.05.2017, 19:02  [ТС] 8
Я так понимаю нужно итемам присвоить переменную. А можно на основании моего кода делать обновление, или не получится?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.05.2017, 19:02

Обновление списка файлов в listview после удаления одного из них
Здравствуйте. Скажите, пожалуйста, как сделать так, чтобы после удаления файла, который...

ListView - ping строки, выбираемой из списка/отображение списка онлайн машин в сети
Доброй ночи, форумчане! Возник насущный вопрос... Может быть, уже и обсуждался, но, по неведомым...

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

Обновление списка после обновления другого списка
У меня есть таблица следующего вида : Наименование(список) , количество , стоимость. Но из-за...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.