обновить название элемента строки списка

У меня есть список с некоторыми однострочными записями, такими как...

Sub MakeListView
    ListView1.AddSingleLine("Empty1")
    ListView1.AddSingleLine("Empty2")
    ListView1.AddSingleLine("Empty3")
    ViewPNL.AddView(ListView1, 0, 0, 100%x, 100%y)
End Sub

Когда пользователь делает долгий щелчок по записи списка, он может выбрать загрузку файла с помощью диалоговой библиотеки. У меня нормально загружается файл в fd.ChosenName.

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

Итак, если бы список изначально читался так:

Empty1
Empty2
Empty3

После загрузки файлов в позиции он может читать, например:

Picture 1.Jpg
My Document.Doc
Sound File.mp3

Я также должен добавить, что пользователь не может загрузить файл во все 3 позиции одновременно. Таким образом, список будет нуждаться в обновлении при загрузке каждого отдельного файла в правильное положение.


person Tony Moreira    schedule 30.11.2011    source источник


Ответы (1)


Попробуйте написать подпрограмму с именем updateList, которая очищает список, а затем перезаписывает все. Это мгновенно. Вызовите подпрограмму при создании действия, а затем снова при выборе файла.

Sub updateList
ListView1.Clear
If filename <> "" Then
ListView1.AddSingleLine(filename)
Else
ListView1.AddSingleLine("Empty")
End If
End Sub
person jb11    schedule 01.12.2011
comment
Спасибо - это определенно шаг в правильном направлении. Однако мне интересно, есть ли простой способ - обновить только ту конкретную позицию, в которой был загружен файл. Код, который вы дали, отлично работает, но удаляет оставшуюся часть списка. Итак, если я изначально добавил, например, три строки, используя ListView1.AddSingleLine(Empty) 3 раза, после загрузки файла обновление отлично работает, но показывает только одну строку с именем файла и всегда по умолчанию занимает первую позицию, даже если вторая позиция была где был загружен файл. - person Tony Moreira; 01.12.2011
comment
Вы можете изменить код, чтобы он проверял условность каждого файла и рисовал его. Просто добавьте любые другие строки выше или ниже оператора if. Насколько мне известно, вы не можете обновлять или вставлять в список - person jb11; 02.12.2011
comment
Спасибо, я начал двигаться в этом направлении - все еще изучаю некоторые вещи, такие как списки, по пути. Также не так много опыта работы с картами - немного мне интересно, поможет ли чтение и запись на карту с каждой загрузкой файла, как при выходе из приложения - я хочу, чтобы файлы, которые были загружены во время использования, были перезагружены в позиции при перезапуске приложения в любом случае. - person Tony Moreira; 02.12.2011