vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Datagridview Style 
Autor: DavidoO
Datum: 25.06.15 16:11

Hallo..
was kann ich machen damit ein selektierter Datarow zB. den Hintergrund "Grün" hat und GLEICHZEITIG die selektierte Celle "Blau"?

Ich hab ein ein Bild davon, damit man genau weißt was ich meine.

Azubi-Informatik

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview Style 
Autor: Manfred X
Datum: 25.06.15 19:07

Hallo!

Eigentlich sollte man entscheiden, wie das Control selektiert
(Selectionmode: FullRowSelect, Cellselect usw.)
und entsprechend die Selection darstellt.
Ergänzend wäre zu beachten, ob im GridView auch Multiselect eingestellt ist.

Du willst sozusagen eine Doppelselection anzeigen: FullRowselect + Cellselect.

Das ist so nicht vorgesehen.
Du könntest im FullRowSelect-Modus des Grid auf das CellPainting-Event
zurückgreifen und die aktuelle Zeile separat kolorieren. Einfach mal ausprobieren.
Eventuell mußt Du noch die Grid-Events CellEnter/CellLeave geeignet bearbeiten.
Public Class frmGridColor
 
    Dim WithEvents dgv As New DataGridView With _
        {.Parent = Me, .Dock = DockStyle.Fill}
 
    Dim dt As New DataTable
 
 
 
    Private Sub frmGridColor_Load(sender As System.Object, _
          e As System.EventArgs) Handles MyBase.Load
 
        'Testdaten
        dt.Columns.Add("A") : dt.Columns.Add("B") : dt.Columns.Add("C")
 
        For i As Integer = 1 To 10
            dt.Rows.Add({i, i * 100, i * 1000})
        Next i
 
        'Datenbindung
        dgv.DataSource = dt
 
        dgv.SelectionMode = DataGridViewSelectionMode.FullRowSelect
        dgv.MultiSelect = False
        dgv.Rows(0).Selected = True
 
    End Sub
 
 
 
    Private Sub dgv_CellPainting(sender As Object, _
        e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) _
        Handles dgv.CellPainting
 
        If e.RowIndex < 0 Or e.ColumnIndex < 0 Then Exit Sub
 
        Dim c As DataGridViewCell = dgv.Rows(e.RowIndex).Cells(e.ColumnIndex)
 
        If Not ReferenceEquals(c, dgv.CurrentCell) AndAlso _
            c.RowIndex = dgv.CurrentCell.RowIndex Then
 
            'Zellen in aktueller Zeile ausser der aktuellen Zelle kolorieren
            Using brback As New SolidBrush(Color.DarkGreen), _
                 brfore As New SolidBrush(Color.White)
                e.Graphics.FillRectangle(brback, e.CellBounds)
                e.Graphics.DrawString(c.Value.ToString, dgv.Font, brfore, _
                New PointF(e.CellBounds.X + 3, e.CellBounds.Y + 3))
            End Using
            e.Handled = True
        End If
 
    End Sub
End Class


Beitrag wurde zuletzt am 25.06.15 um 19:26:07 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview Style 
Autor: DavidoO
Datum: 29.07.15 15:58

Danke !!!!!!!!!!!!!!

Azubi-Informatik

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel