vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 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

Fragen & Antworten rund um sev-Komponenten
Re: Data Grid: Error beim Scrollen 
Autor: benne
Datum: 13.11.09 13:56

Hallo,

der Filter wird über die Routine aus der Hilfe erstellt :

Private Sub clsobjGrid_FilterButtonClick(ByVal nCol As Long, sText As String, _
  bCancel As Boolean)
  ' Filter übernehmen und kennzeichnen
  Dim i As Long
  Dim sOp As String
  Dim sValue As String
  Dim bText As Boolean
  Dim strErrorMsg As String
  On Error GoTo objGrid_FilterButtonClick_ErrorHandler
 
  With clsobjGrid
    ' handelt es sich um ein Text- oder um ein numerisches Feld?
    Select Case .Columns(nCol).DataType
      Case dtText, dtMemo, dtHyperlink
        bText = True
      Case Else
        bText = False
     End Select
 
    ' Filterbedingung zusammenstellen
    If left$(sText, 2) = "<>" Then
      sOp = "<>"
      sValue = LTrim$(Mid$(sText, 3))
    ElseIf UCase$(left$(sText, 9)) = "NOT LIKE " Then
      sOp = "NOT LIKE"
      sValue = LTrim$(Mid$(sText, 10))
    ElseIf UCase$(left$(sText, 4)) = "NOT " Then
      sOp = "NOT"
      sValue = LTrim$(Mid$(sText, 5))
    ElseIf left$(sText, 2) = ">=" Or left$(sText, 2) = "=>" Then
      sOp = ">="
      sValue = LTrim$(Mid$(sText, 3))
    ElseIf left$(sText, 2) = "<=" Or left$(sText, 2) = "=<" Then
      sOp = "<="
      sValue = LTrim$(Mid$(sText, 3))
    ElseIf InStr("<>=", left$(sText, 1)) > 0 Then
      sOp = left$(sText, 1)
      sValue = LTrim$(Mid$(sText, 2))
    Else
      sOp = IIf(bText, "LIKE", "=")
      sValue = sText
      If sValue = "''" Or sValue = String$(2, Chr$(34)) Then sValue = ""
      If bText Then
        If right$(sValue, 1) = "*" Then
          sValue = left$(sValue, Len(sValue) - 1) & "%"
        ElseIf right$(sValue, 1) <> "%" Then
          sValue = sValue & "%"
        End If
      End If
    End If
    If sValue = "''" Or sValue = String$(2, Chr$(34)) Then sValue = ""
    If bText And left$(sValue, 1) <> "'" And Len(sValue) > 0 Then
      If .Columns(nCol).DataType = dtHyperlink Then sValue = "#" & sValue
      sValue = "'" & sValue & "'"
    Else
      If .Columns(nCol).DataType = dtBoolean Then
        sValue = IIf(sValue = "ja", "True", "False")
      ElseIf .Columns(nCol).DataType = dtDate Then
        If IsDate(sValue) Then
          sValue = "#" & Format$(CDate(sValue), "m-d-yy") & "#"
        End If
      End If
    End If
    .LockUpdate True
    If sOp = "" And sValue = "" Then
      ' Filter ausschalten
      .Recordset.Filter = ""
      nCol = 0
    Else
      ' Filter einschalten
      .Recordset.Filter = "[" & .Recordset.Fields(nCol - 1).Name & "] " & sOp & _
        " " & sValue
    End If
    ' Filtersymbol anzeigen, Text fett hervorheben,
    ' und bei allen anderen Spalten den Filter deaktiviert anzeigen
    For i = 1 To .Cols
      .Columns(i).FilterShowDisabled = (i <> nCol)
      .Columns(i).FilterBold = (i = nCol)
      .Columns(i).ImageAlign = ALIGNMENT_RIGHT
      .Columns(i).image = IIf(i = nCol, clsobjGrid.ImageByKey("imgPinRot"), 0)
    Next i
    .LockUpdate False
    .Refresh
  End With
Das Recordset kommt von einem SQL Server über :
    Set cmd = New ADODB.Command
    cmd.ActiveConnection = CurrentProject.Connection
    cmd.CommandType = adCmdStoredProc
    cmd.CommandText = "tos_sp_Massenübersicht"
    Set MakeRecordset_SP = cmd.Execute
Eigentlich nichts besonderes.
Mit ist nur aufgefallen, dass bei sortierten Feldern, die einen Doppelpunkt haben, ab hier die Liste aus der Reihe tanzt ...

Gruß
Benne
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Data Grid: Error beim Scrollen1.312benne11.11.09 17:07
Re: Data Grid: Error beim Scrollen987ModeratorDieter12.11.09 18:13
Re: Data Grid: Error beim Scrollen825benne13.11.09 13:56
Re: Data Grid: Error beim Scrollen909ModeratorDieter13.11.09 14:22
Re: Data Grid: Error beim Scrollen838benne26.11.09 08:07
Re: Data Grid: Error beim Scrollen873ModeratorDieter28.11.09 09:12
Fehlerquelle gefunden ...813benne30.11.09 10:35
Re: Fehlerquelle gefunden ...785ModeratorDieter30.11.09 10:48

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