vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 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

Fragen & Antworten rund um sev-Komponenten
Alternativroutine f. Datagrid Highlight (Ausbaufähig)  
Autor: rsvisionmaster
Datum: 23.09.14 13:39

anbei für alle interessierten eine ausbaufähige Ersatzroutine für das markieren einer Datagridzeile,
bei der die jeweils angeklickte Zelle in Fett und einer anderen Vordergrundfarbe
dargestellt wird.

Private Sub MyGrid_CellClick(ByVal nRow As Long, ByVal nCol As Long, ByVal _
  Button As Integer, ByVal Shift As Integer)
 
    Dim szColumnKey as String
 
    '- Column.Key ermitteln -
 
    szColumnKey = MyGrid.Columns(nCol).key
 
    '- Rechte Maustaste ? -
 
    If Button = vbRightButton Then
 
        Call ChangeHighlight(MyGrid, szColumnKey, True)
 
        ' mache irgendwas...
 
        MsgBox "..."
 
        Call ChangeHighlight(MyGrid, szColumnKey, False)
 
    End If
 
End Sub
...

Public Sub ChangeHighlight(ByRef objDatagrid As sevDataGrid2.sevGrid, ByVal _
  KeyName As String, ByVal  NoHighlight As Boolean)
 
    On Error Resume Next
 
    '- Lokale Deklaration -
 
    Static CellBackcolor As Long
    Static CellForecolor As Long
    Static FixedBackColor As Long
    Dim objItem As sevDataGrid2.ListItem
    Dim dwCol As Long
 
    '- ListItem Referenz -
 
    Set objItem = objDatagrid.ListItems(objDatagrid.Row)
 
    '- NoHighlight -
 
    If bNoHighlight Then
 
        With objDatagrid
 
            '- letzte Farbeinstellung merken -
 
            FixedBackColor = objItem.FixColBackColor(1)
            CellBackcolor = objItem.CellBackcolor(KeyName)
            CellForecolor = objItem.CellForecolor(KeyName)
 
            For dwCol = 1 To .Cols
                If .Visible Then
                    objItem.CellBackcolor(dwCol) = .HighlightBackColor
                    objItem.CellForecolor(dwCol) = IIf(dwCol <> .Columns( _
                      KeyName).Index, .HighlightForeColor, vbYellow)
                    objItem.FixColBackColor(1) = .HighlightBackColor
                End If
            Next dwCol
 
            objItem.CellBold(KeyName) = True
            .NoHighlight = True
 
        End With
 
    Else
 
        objDatagrid.NoHighlight = False
        objItem.FixColBackColor(1) = FixedBackColor
 
        For dwCol = 1 To objDatagrid.Cols
            objItem.CellBackcolor(dwCol) = CellBackcolor
            objItem.CellForecolor(dwCol) = CellForecolor
            objItem.CellBold(dwCol) = False
        Next dwCol
 
    End If
 
    Set objItem = Nothing
 
End Sub
evtl. Fehler (was ich nicht hoffe, möge man mir verzeihen...)
Viel Vergnügen...

RSVisionmaster

CardManager (SmartCard Tools a la CARD)

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Alternativroutine f. Datagrid Highlight (Ausbaufähig) 1.749rsvisionmaster23.09.14 13:39
Re: Alternativroutine f. Datagrid Highlight (Ausbaufähig)1.045melodoi30.09.14 15:13
Re: Alternativroutine f. Datagrid Highlight (Ausbaufähig)1.097rsvisionmaster30.09.14 16:20
Re: Alternativroutine f. Datagrid Highlight (Ausbaufähig)1.024melodoi30.09.14 16:44
Re: Alternativroutine f. Datagrid Highlight (Ausbaufähig)1.077rsvisionmaster30.09.14 17:06

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