vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

VB.NET - Fortgeschrittene
Re: DataGrid - Performance -> Gesicht schläft ein! 
Autor: accu
Datum: 22.06.04 10:02

Hier mal mein Code:
Public Class OSColorTextBoxColumn
    Inherits DataGridTextBoxColumn
 
    Protected Overloads Overrides Sub Paint(ByVal graph As Graphics, _
      ByVal rectbounds As Rectangle, ByVal curmngrSrc As _
      CurrencyManager, ByVal RowNumber As Integer, ByVal _
      ForeColorBrush As Brush, ByVal BackColorBrush As Brush, _
      ByVal AlignmentRight As Boolean)
 
        '//geerbte Paint Methode des DataGrids überschreiben
 
        Dim ObjVal As Object
        ObjVal = Me.GetColumnValueAtRow(curmngrSrc, RowNumber)
        ' eigene Behandlung
        If Not (IsNothing(ObjVal) Or IsDBNull(ObjVal)) Then
            Dim cellValue As String
            cellValue = CType(ObjVal, String) 'die Werte jeder einzelnen Zelle 
            ' im Grid
 
            Dim VergleichsDatum As Date
            Dim oForm As New Form1
            'jeweilige Kürzel der MA mit unterschiedlichen Farben belegen
            Select Case cellValue
                Case Is = "AS"
                    BackColorBrush = Brushes.Red
                    ForeColorBrush = Brushes.White
                Case Is = "MB"
                    BackColorBrush = Brushes.Blue
                    ForeColorBrush = Brushes.White
                     Case Else
                    BackColorBrush = Brushes.White
                    ForeColorBrush = Brushes.Black
            End Select
            'Aktuelle Datenbestände rot einfärben
            If (CType(cellValue, String).IndexOf(":"c)) <> -1 Then 'Spalte 
            ' prüfen auf Zeitformat
                If (CType(cellValue, Date) <> CType(oForm.Zeit, Date)) = True Then
                    If (CType(cellValue, Date) > CType(oForm.Zeit, Date)) = _
                      True Then
                        BackColorBrush = Brushes.White
                        ForeColorBrush = Brushes.Red
                    End If
                End If
            End If
        End If
        ' Basisklasse übernimmt die Darstellung
        MyBase.Paint(graph, rectbounds, curmngrSrc, RowNumber, _
          BackColorBrush, ForeColorBrush, AlignmentRight)
    End Sub
 
    Public Sub SetTableStyle(ByVal aGrid As DataGrid, ByVal aDT As DataTable)
        '// Definiert die View des DataGrids - das Erscheinungsbild der 
        ' einzelnen Spalten
        Dim aDGTS As New DataGridTableStyle
                Dim j As Integer
        For j = 0 To aDT.Columns.Count - 1
            Dim aOSCTBC As New OSColorTextBoxColumn
            Select Case j
                Case Is = 1
                    aOSCTBC.MappingName = aDT.Columns(j).ColumnName
                    aOSCTBC.HeaderText = "MA - Kürzel"
                    aOSCTBC.Width = 100
                    aOSCTBC.Alignment = HorizontalAlignment.Center
                Case Is = 2
                    aOSCTBC.MappingName = aDT.Columns(j).ColumnName
                    aOSCTBC.HeaderText = "Datum"
                    aOSCTBC.Width = 100
                    aOSCTBC.Alignment = HorizontalAlignment.Center
                Case Is = 3
                    aOSCTBC.MappingName = aDT.Columns(j).ColumnName
                    aOSCTBC.HeaderText = "Firma"
                    aOSCTBC.Width = 200
                    aOSCTBC.Alignment = HorizontalAlignment.Center
                Case Is = 4
                    aOSCTBC.MappingName = aDT.Columns(j).ColumnName
                    aOSCTBC.HeaderText = "Artikelbezeichnung"
                    aOSCTBC.Width = 100
                    aOSCTBC.Alignment = HorizontalAlignment.Center
           'hier kommen noch 5 andere Spalten mit dem gleichen code hinzu
            End Select
            aDGTS.GridColumnStyles.Add(aOSCTBC)
        Next j
        aGrid.TableStyles.Clear()
        aGrid.TableStyles.Add(aDGTS)
    End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
DataGrid - Performance -> Gesicht schläft ein!1.482accu21.06.04 17:37
Re: DataGrid - Performance -> Gesicht schläft ein!1.156ModeratorFZelle21.06.04 19:26
Re: DataGrid - Performance -> Gesicht schläft ein!1.121accu21.06.04 21:35
Re: DataGrid - Performance -> Gesicht schläft ein!1.198WaldiMaywood21.06.04 21:46
Re: DataGrid - Performance -> Gesicht schläft ein!1.146accu22.06.04 10:02
Re: DataGrid - Performance -> Gesicht schläft ein!1.093ModeratorFZelle22.06.04 15:42
Re: DataGrid - Performance -> Gesicht schläft ein!1.119accu22.06.04 15:58
Re: DataGrid - Performance -> Gesicht schläft ein!1.109ModeratorFZelle22.06.04 17:32
Re: DataGrid - Performance -> Gesicht schläft ein!1.124accu22.06.04 20:01
Re: DataGrid - Performance -> Gesicht schläft ein!1.132ModeratorFZelle23.06.04 09:38
Re: DataGrid - Performance -> Gesicht schläft ein!1.242ModeratorFZelle21.06.04 21:50
Re: DataGrid - Performance -> Gesicht schläft ein!1.089accu22.06.04 20:16

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-2025 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