0

次のコードを使用して、アクセス データベースのクエリを使用して取得されたデータセットからリストビューの列を作成しています。

    For Each field As DataRow In dt.Rows()
        If field Is Nothing Then
            MsgBox("there's nothing here")
        End If

        ListViewBatchResults.Items.Add(field(3))

    Next

問題は、空白のフィールドが検出されるとすぐにループが終了し、リスト ビューへの入力が完了しないため、最初に検出された空白のフィールドの後のデータが表示されないことです。

この問題を回避するにはどうすればよいですか?

4

1 に答える 1

0

null次のように、追加する前に値が存在するかどうかを確認してください。

 If (Not IsDBNull(field(3))) Then
     Dim lvwItem As ListViewItem = ListView1.Items.Add(field(3).ToString())
     lvwItem.SubItems.Add(field(4).ToString())
 End If

おそらく、次のようになっているnullかどうかを確認することもできます。empty

 If (Not IsDBNull(field(3))) Then
    If (Not String.IsNullOrEmpty(field(3))) Then
       Dim lvwItem As ListViewItem = ListView1.Items.Add(field(3).ToString())
       lvwItem.SubItems.Add(field(4).ToString())
    End If
 End If
于 2013-08-09T11:48:25.410 に答える