2009-03-13 6 views
1

でリストビューに項目を追加する:私が使用してリストビューに新しい値を追加すると、実行時

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

唯一の問題は、これが唯一、それを正しく更新するためにどのように任意のアイデアをリストビューで空白の新しい行が表示されることありますか?

通常、レコードセットを使用していますので、データを再度クリアしてから再読み込みしますが、ユーザーがリストビューにエントリを追加できるようにする必要があります。私は、リストビューの変更を完了した後にのみ、DBに値を追加するようにリストビューを繰り返します。

ご協力いただきありがとうございます。

答えて

4

ListViewの.Viewプロパティが "Report"に設定されていると仮定すると、次のように2行がコントロールに追加され、サブアイテムのテキストが設定されます。

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

最初のライナーは、初心者のための主要な教育者です - ViewプロパティをViewに設定してください。 –

0

個人的には、私のリストビューにある各列にstring []オーバーライドを使用したいと思います。

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

これは無視されました。これは、現在解決されている無関係な(一見)問題によるものです。以前のポスターには、私の質問の元のコードと同様に、リストビューにアイテムを追加する正しい方法がリストされていました。