2009-03-13 4 views
1

При добавлении новых значений в ListView с помощью:добавление элементов в ListView во время выполнения

Set lstView = ListView(0).ListItems.Add(, , txtName) 
    lstView.ListSubItems.Add , , txtValue 
    lstView.Refresh 

Единственная проблема заключается в том, что это только показывает новую пустую строку в ListView, любая идея, как обновить его правильно?

Обычно я использую набор записей, поэтому просто очищаю, а затем повторно заполняю данные, но мне нужно, чтобы пользователь мог добавлять записи в список. Затем я перейду через список, добавив значения tot he DB только после того, как пользователь завершит изменение списка.

Заранее благодарим за любую помощь.

ответ

4

Предполагая, что свойство .View вашего ListView установлено в «Report», следующее добавит пару строк в элемент управления и установит текст подпозиции.

Dim li As ListItem 

With ListView1 
    .ColumnHeaders.Add , , "One" 
    .ColumnHeaders.Add , , "Two" 
    .ColumnHeaders.Add , , "Three" 

    Set li = .ListItems.Add(, , "Row1Item1") 
    li.SubItems(1) = "Row1Item2" 
    li.SubItems(2) = "Row1Item3" 

    Set li = .ListItems.Add(, , "Row2Item1") 
    li.SubItems(1) = "Row2Item2" 
    li.SubItems(2) = "Row2Item3" 
End With 
+0

Это не похоже на код, который у меня уже есть, если я его правильно читаю? Моя проблема в том, что если бы я тогда захотел пойти и добавить еще одну строку данных в более позднюю точку, то строка данных не будет отображаться в списке, она не будет обновляться сама. – Denvar

+0

Первый лайнер является основным преподавателем для начинающих - Настройка Просмотр свойства Report.Thanks for that –

0

Мне лично нравится использовать переопределение строки [] для каждого столбца, имеющегося в моем списке.

ListViewItem listItem = new ListViewItem(new string[] { "column 1 value", 
                 "column 2 value" }); 
listItem.Tag = myObjectProvidingTheValues; 
listView_myListView.Items.Add(listItem); 

EDIT: Ну, я вам дал C# код, и вы хотели код VB. Я не уверен, что это. Если вы используете .NET, должны применяться те же концепции. Если вы используете VB6, я не уверен, что такое точный нюанс.

0

Игнорируйте меня, это связано с несвязанной (по-видимому) проблемой, которая была разрешена. В предыдущих плакатах перечислены правильные способы добавления элементов в listviews, как и исходный код в моем вопросе.