0
を受け付けません。コントロールは、白い背景と黒のテキストで表示されます。vb.netのリストビューは、私はこのコードが動作しない理由を理解していない色の設定
を受け付けません。コントロールは、白い背景と黒のテキストで表示されます。vb.netのリストビューは、私はこのコードが動作しない理由を理解していない色の設定
BackColorプロパティとForeColorプロパティは、項目が選択されている場合は、あなたの最善の策は、リストビューでtrueにOwnerDrawするを設定し、項目を自分でペイントすることです無視されます。
Private Sub ListView1_DrawSubItem(sender As Object, e As DrawListViewSubItemEventArgs) Handles ListView1.DrawSubItem
If e.Item.Selected Then
Dim Brush As New SolidBrush(Color.SlateGray)
e.Graphics.FillRectangle(Brush, e.Bounds)
Brush.Dispose()
Else
Dim Brush As New SolidBrush(e.SubItem.BackColor)
e.Graphics.FillRectangle(Brush, e.Bounds)
Brush.Dispose()
End If
e.DrawText(TextFormatFlags.VerticalCenter)
e.DrawFocusRectangle(e.Bounds)
End Sub
Private Sub ListView1_DrawColumnHeader(sender As Object, e As DrawListViewColumnHeaderEventArgs) Handles ListView1.DrawColumnHeader
e.DrawDefault = True
End Sub
Hmm。私はあなたの努力を感謝しますが、これはちょうどカップルの色のプロパティを設定するにはあまりにも多くのコードです。また、これは選択されているアイテムに関するものでもありません。私はすべてのエントリがそれらの色を持つことを望んでいました。しかし、ありがとう。 –
データがすでにデータテーブルにある場合、そのデータをリストビューに表示するのはどうしてですか? DataTableをDGVのデータソースとして使用する。 1行のコードで、データのコピーはしません。それ以外の場合はreproできません – Plutonix
datatableがありません。 rexはクエリから抽出したDataRowsのArrayListです。決して6または7以上の要素がありません。データテーブルのために過剰なものがあるようですが、私はそれを調べます。ありがとう。これはもちろん、DGVがこのリストビューよりも2つのカラー設定を制御できるようにすることを前提としています。 –
ArrayListも古くなっています。クエリを実行すると、 'cmd.ExecuteReader'を使用してDTを記入することができ、db結果のための完璧なコンテナです。 DGVが必要とするすべての列が1行作成され、列データが表示されます。それは、ディスプレイを微調整するための泡立ちと味があります。 – Plutonix